0

管理者として Windows 2008 で .bat ファイルを実行します。

Windows 2008 に Java アプリケーションをユーザー (ユーザー名は Test、ユーザー グループは Admin) としてインストールしました。このアプリケーションは、JSW を使用し、Windows プラットフォームでアプリケーションを起動するための .bat ファイルを生成しています。この .bat ファイルは、maven プラグインを使用して作成されます。

問題は、デフォルトのセキュリティ設定で通常の Windows ユーザーとして .bat ファイルをクリックすると、アプリケーションが起動しないことです。「管理者として実行」として .bat ファイルを起動すると、アプリケーションが起動します。「テスト」ユーザーのセキュリティ設定を変更し、make をリベラルにすると、「管理者として実行」を実行せずにアプリケーションを起動できます。

このステップを自動化したい。ユーザーが「管理者として実行」を実行したり、セキュリティ設定を変更したりしたくありません。そこで、インストーラーでアプリケーションをインストールした後にvbスクリプトを実行して、そのファイルがその.batファイルのセキュリティ設定を行い、「テスト」ユーザーが.batファイルを1ステップで起動できるようにするソリューションを思いつきました。これは可能ですか、それともより良い解決策ですか?

ちなみにインストーラはInstall Anywhereを使っています。

しばらく試してみたところ、.bat ファイルを指すショートカット ファイルの設定 (高度なプロパティ) も変更できることがわかりました。このショートカットには、「管理者として実行」オプションがある高度なプロパティがあります。そのオプションがチェックされている場合、私の問題は解決されます。だから、vbスクリプトからそのオプションをチェックインすることは可能ですか? はいの場合、ヒントはありますか?そうでない場合、それを行うための代替手段は何ですか?

http://nsis.sourceforge.net/ShellLink_plug-inを見つけましたが、vb スクリプトでそれを行う方法がわかりません。

4

2 に答える 2

0

どのバージョンの JSW を使用していますか?

JSW のバージョン 3.5.7 以降では、Java アプリケーションを Windows サービスとして開始/停止すると、管理者権限への昇格が自動的に要求されます。

これは、3.5.7のJSW リリース ノートからのものです。

昇格されていない (UAC) コンソールから Windows サービスとして Wrapper をインストール、削除、開始、停止などする方法を実装しました。Wrapper は、子プロセスを使用して透過的に昇格されます。これは、Windows Service Manager との円滑な対話のために、Windows Vista および 2008 以降で必要になります。

乾杯、

于 2012-10-04T03:14:04.210 に答える
0

パスワードを要求せずにバッチファイルでそれを行うことは不可能だと思います。小さな C++ ランチャーを作成して権限を要求し、Java アプリケーションを実行することができます。

于 2012-10-04T02:37:19.573 に答える