2

配布用にMSIを生成する準備ができている作業プログラムがあります。デフォルトのインストール場所はですC / Program Files / Foo / Bar。ここにインストールすることをお勧めします。ただし、その場所にインストールした後、右クリックして「管理者として実行」しない限り、プログラムは実行を拒否します。

プログラムはにインストールされているため、管理者アクセスが必要であることを理解していますC / Program Files(この問題がないデスクトップにプログラムをインストールする代替インストールパスがあります)。そのため、プログラムを管理者として毎回実行する必要がない方法を探しています。一度使いたいです。

「管理者として」.msiをインストールすると問題が解決すると思っていましたが、.msiを右クリックしても、期待どおりに「管理者として実行」できません。

c / program filesインストールディレクトリを維持しながら、毎回管理者としてプログラムを実行する必要がないようにする方法はありますか?

4

2 に答える 2

2

setup.exeを使用してMSIをビルドします。次に、EXEを右クリックして、管理者として実行できます。MSIはプログラムではなく、別のプログラム(msiexec.exe)によって実行されるドキュメント(データベース)であるため、これをMSIに対して行うことはできません。

于 2011-03-09T17:44:19.020 に答える
0

通常、これは、アプリケーションがマシンごとの場所(Program FilesやHKEY_LOCAL_MACHINEなど)にデータを書き込もうとしたときに発生します。この場合、アプリケーションは管理者として起動された場合にのみ機能します。

解決策は、アプリケーションデータにユーザーごとの場所を使用することです。たとえば、ユーザープロファイルフォルダーの下のアプリケーションデータ(AppData)フォルダーとHKEY_CURRENT_USER。

ただし、アプリケーションに本当に管理者権限が必要な場合は、UACアプリケーションマニフェストを使用できます。

于 2011-03-10T07:17:13.240 に答える