eulaの受け入れを強制する無人(コマンドライン)インストール
-
28-09-2019 - |
質問
私は一緒に作業しているセットアッププロジェクトを持っており、ユーザーをユーザーインターフェイスに追加しました。無人(コマンドライン)のインストールと、実行中のセットアップを介してGUIインストールの両方をサポートする必要があります。 EULAはGUIインストールで実施されていますが、無人のインストールでは施行されていません。
現在、カスタムアクションで使用されているパラメーターを渡す次の形式でコマンドラインインストールを実行しています。
msiexec /i projectsetup.msi /qn /l* log.txt param1 = "foo" param2 = bar
最悪の場合、コマンドラインのインストールを行っているときに見つからない場合は、追加のパラメーター「Accepteula」が必要になり、インストールから爆撃できると思います。誰でも提供できるガイダンスは大歓迎です。
解決
誰もがPARAM1 PARAM2とAccepteulaをMSIに渡すことができないことを認識する必要があります。 Accepteulaのような公共プロパティ(すべての大文字)のみを渡すことができます。
MSIは、Accecteulaや組み込みプロパティUILEVELなどのカスタムプロパティからキーオフするLaunchConditionを使用することにより、簡単にこれを行うことができます。目標は、uirevel = 5またはaccepteula = 1または製品が(既に)インストールされている場合にのみインストールを許可することです
調子:
uilevel = 5またはaccepteulaまたはインストール
製品名]をインストールするには、eulaを受け入れる必要があります。
パブリックプロパティ:http://msdn.microsoft.com/en-us/library/aa370912(vs.85).aspx
起動条件:http://msdn.microsoft.com/en-us/library/aa369752(vs.85).aspx
uilevel:http://msdn.microsoft.com/en-us/library/aa372096(vs.85).aspx
他のヒント
GUIが開始されたときに最初の実行時にEULAを表示します。例えば。さまざまなsysinternalsツールと同様に(Filemon、Regmonなど)。良い考えは、Xcopy展開で動作するということです。
私は通常、「受け入れる」をクリックすることは、単にソフトウェアを使用するよりも法的に拘束力がないと仮定します。一部の管轄区域では、ユーラを受け入れることが、ユーザーにソフトウェアをインストール/実行する権利を提供するものです。
それ以外の場合、私は単にインストーラーを微調整して、それがオイラスを提示することはないので、私はそれらに拘束されません。