私はXPで静かに動作し、正常に動作するアップデータを作った。しかし、Vistaの場合、UACがユーザーにプログラムを実行させないようにユーザーに指示すると、サイレントインストールの考えが損なわれます。VISTAでNSISインストーラをサイレントに実行できますか?
これについて何かできることはありますか?
ありがとう...
私はXPで静かに動作し、正常に動作するアップデータを作った。しかし、Vistaの場合、UACがユーザーにプログラムを実行させないようにユーザーに指示すると、サイレントインストールの考えが損なわれます。VISTAでNSISインストーラをサイレントに実行できますか?
これについて何かできることはありますか?
ありがとう...
残念ながら、これを回避する方法はありません。実際には、UACは、プログラムがソフトウェアをインストールしたり、ユーザーの心配なしにマシンを変更したりするこの種の事態を防ぐために特別に意図されています。
これは事実上UACとユーザー権限の副作用です。セキュリティの観点からは、意味があります。
これが必要な場合は、高い権限でパッチを適用して展開するように設計されたシステムを実装する必要があります。マイクロソフト自身のSystems Management Serverはこのトリックを行いますが、明らかに大規模なソリューションです!
あなたはそれについて読むことができますhere。
はい、サイレントインストーラーを動作させるスクリプト内でVistaの高度を追加しましたが、ユーザーとしてのみ使用しました。管理者として、UACプロンプトを表示して自動的にインストールします。 あなたが私に与えたリンクを確認しましたが、これは最後のオプションかもしれません...私は思っています... ありがとう... – Owen
非MSIインストールのUACは、灰色の領域です。署名されたMSIパッケージを使用すると、ユーザーにとってははるかに簡単で混乱が少なくなります。
Clickonce Deploymentをご覧ください。は、問題のいくつかを解決します。
実際、非常に先入観のある状況では可能です。具体的には、「サービス」は、完全な権限を持つユーザセッションでインストーラを起動し、UACプロンプトをバイパスします(既に持っています)。
もちろん、これには管理者の承認が必要なサービスを既にインストールしている必要があります。
私はこの投稿が古いと知っています...正確には4ヶ月です。しかし、実際は、はい、それは非常に可能です。私は上記の人々を訂正したい。
この行をNSISスクリプトに追加するだけです。
RequestExecutionLevelユーザー
この行は、このプログラムは、ビスタ/ 7が考える管理アクセスを必要としないことをWindows VistaおよびWindows 7を伝えます。
これは、OSの "システム"領域へのアクセスを防ぐという副作用があります。 NSISインストールセットは、HKLMまたはOSの保護されたフォルダに書き込むことはできません。 NSISのバージョンによっては、エラーが発生したり、Windowsが互換モードでプログラムを実行したり、成功を報告している間に黙って失敗することになります。 – jveazey
意味があります。そうです...私は思っていました。私が作ったスクリプトは、UACプロンプトをバイパスすることを想定していました。 「ユーザー」として、それをバイパスしましたが、管理者としては、そうしませんでした。 – Owen
これはVistaのUACとWindows 7の意図された動作です.UACを扱うのは難しいですが、最善の解決策は実際には変更についてユーザーに先行することです。その場合、プロンプトは無意味です。 –