2

innoscript を使用してアプリケーションを作成しようとしています。HKLM でレジストリ情報の値を作成/編集する必要があります。したがって、アプリケーションをインストールするには管理者権限が必要です。

ただし、管理者以外のユーザーがアプリケーションをインストールしようとすると、innoscript は管理者ユーザーのパスワードを要求します。管理者ユーザーのパスワードを入力すると、インストール スクリプト (HKCU など) でレジストリを照会するたびに、管理者ユーザーから情報が取得されます。しかし、現在ログインしているユーザーから情報を取得したいと思います。その結果、現在のログオン ユーザー アカウントではなく、管理者ユーザーの場所にプログラムがインストールされます。

アプリケーションが [管理者として実行] または [管理者としてプロンプト表示] で起動されたときに、innoscript から現在のログオン ユーザー ユーザーとユーザー アプリ データの場所を取得する方法はありますか。

あなたの更新を待っています。

ありがとう、

4

2 に答える 2

1

インストーラーは、マシンごとのインストール中にユーザーごとの状態 (HKCU を含む) を読み取ったり変更したりすることは想定されていません (確実に行う方法はありません)。代わりに、アプリケーション自体が最初の実行時にこれを行うようにする必要があります (適切な場所を読み取ろうとし、見つからない場合はデフォルト値を想定します)。

アプリケーションは一度インストールされますが、その後は複数の異なるユーザーが実行できることに注意してください。この動作は不可欠です。

于 2012-08-19T03:29:14.967 に答える
0

簡単な回避策は、ロジックを Pascal スクリプトではなく実行可能ファイルに移動することです。次に、この実行可能ファイルを [Run] セクションで呼び出すことができます。

http://www.jrsoftware.org/ishelp/index.php?topic=runsection

Run アイテムを runasoriginaluser としてマークすることを忘れないでください。

于 2012-08-18T13:15:33.873 に答える