私のC#アプリケーションの中から* .msiファイルを実行する必要があります。インストールはUIなしで実行され、無人で実行する必要があります。 UACポップアップウィンドウを避ける方法はありますか?Windowsインストーラを起動してUACポップアップを避ける方法はありますか
-1
A
答えて
1
:
1)インストールは、アプリとSYSTEMとして実行されているWindowsサービスを産みます。
2)アプリケーションは、新しいバージョンのwebserviceをチェックし、一時ディレクトリにダウンロードします。
3)アプリケーションは、MSIが一時ディレクトリに存在することをサービスに通知します。
4)サービス)
5(公開/割り当て)します。msiexec/JM foo.msi/QNを実行することにより、MSIの "祝福" サービスは、MSIは、現在信頼されたアプリケーションを通知します。
6)アプリケーションは、UACプロンプトなしでMSIのインストールを実行します。 msiexec/i foo.msi/qn RESTARTAPP = 1
このパターンでは、カスタムアクションスケジューリング/セキュリティサンドボックスという点でMSIが完全に準拠している必要があります。 MSIを立ち上げるとすぐにアプリケーションは終了し、RESTARTAPPでカスタムアクションを実行してアプリケーションを再起動して、シームレスなユーザーエクスペリエンスを実現するように指示します。
私はこれをFOSSプロジェクト/パターンにすることを考えましたが、悪用されないようにするためのセキュリティ上の考慮事項は、私が対処したいことを超えています。
1
UACプロンプトをC#ランチャに延期することができますが、どこかに高度プロンプトが表示されている必要があります。開始され、UACの標高を取得し、MSIのインストールをCreateProcess()の開始(またはMsiInstallProductの呼び出し)として開始すると、MSIも上昇します。私はのようなものでしたソリューション作成した過去には
関連する問題
- 1. Windowsインストーラのポップアップを見つける方法
- 2. Windows UACの制限を回避するための正しい方法はありますか?
- 3. Windows 7でWindowsをプログラムで起動する方法はありますか?
- 4. UAC通知後にJava Jdkインストーラが起動しない
- 5. Windows起動時にWindowsアプリケーションを起動するUACなしで少し遅れて
- 6. "共有"を避ける良い方法はありますか?
- 7. サブクエリを避ける方法はありますか?
- 8. $ this-> everywhereを避ける方法はありますか?
- 9. ng-repeatを避ける方法はありますか?
- 10. 完了時に `sample`が起動します。避ける方法?
- 11. WiXインストーラでWindowsサービスをインストールして起動できません
- 12. C#Windowsフォームアプリケーションの起動時に何が起こっているかを知る方法はありますか
- 13. ポップアップを閉じる方法を避ける方法
- 14. Windows上で別のユーザーとしてプロセスを起動する方法はありますか?
- 15. 広告ピクセルを起動してリダイレクトする方法はありますか?
- 16. Windowsでクラッシュした場合にプログラムを自動的に再起動する方法はありますか?
- 17. 特定の名前で起動するlaunch4j Windows UAC
- 18. cmdからpythonを起動するときにchcpを避ける方法
- 19. Windowsを起動する前に、または起動するたびに、どのIPアドレスを使用するかを知る方法はありますか?
- 20. nightmarejsのポップアップを処理する方法はありますか?
- 21. URLでブラウザからWindowsストア8.1アプリを起動し、アプリにデータを渡す方法はありますか?
- 22. C#からインストーラを起動する
- 23. WindowsエクスプローラとInternet Explorerの自動再起動を停止する方法はありますか?
- 24. git bashコマンドだけでウィンドウをポップアップする方法は? [Windows 10]
- 25. 圧縮オプションを避ける方法avisaveoptionsのボックスをポップアップ
- 26. valarrayと配列の間のコピーを避ける方法はありますか?
- 27. 静的メモリ領域のオーバーフローを避ける方法はありますか?
- 28. クライアントサイドでjavascriptメソッドの公開を避ける方法はありますか?
- 29. エンティティフレームワークのインクルード()でマジック文字列を避ける方法はありますか?
- 30. MongoDb用.NETドライバ:プロパティ名のハードコーディングを避ける方法はありますか?
アプリケーションを管理者として実行する場合、UACはポップアップしないでください。 –
UACプロンプトを回避する一般的な方法があった場合、UACの要点は何ですか? –
これはアップグレードのシナリオですか?最初のインストール時にUACプロンプトを表示しても、アップグレード中にプロンプトが表示されない場合は十分でしょうか? –