2016-07-13 4 views
2

私はInno Script isntallerが子を実行していますsetup.exe。サイレントインストールパラメータがマスターインストーラに与えられたときに、サイレントインストールパラメータをsetup.exeに与える必要があります。マスタインストーラが(非常に)静かに実行されている場合、(非常に)サブインストーラを静かに実行してください

イノスクリプトの実行コマンドは、次のように私は、コマンドプロンプトでサイレントインストールパラメータを与えた

[Run] 
Filename: "setup.exe"; Parameters:"/Install silent"; Flags: nowait 
"setup location" /VERYSILENT /Install silent 

はマスターInno Setupのインストーラは静かに実行されているが、子 setup.exeはUIで起動します。

Inno Setupスクリプトファイルのコマンドプロンプトからサイレントインストールパラメータを取得するにはどうすればよいですか?これを解決するために私を助けてください。

+0

親インストーラがサイレントモードで実行されている場合にのみ、サブインストーラをサイレントモードで実行しますか?それともいつも? –

+0

@MartinPrikryl、はい、サブインストーラをサイレントモードで実行し、コマンドプロンプトでinno setupにverysilentパラメータを指定します。上の例では、サブインストーラにはサイレントインストールパラメータが表示されていますが、UIは表示されています。最初のコードスニペットとして直接指定されている場合は動作します。 「コマンドプロンプトからパラメータを取得する方法」を教えてください。 – cheran

+0

これは私の答えが示すものです。あなたはそれを見ましたか?私は、サイレントと非常に静かなインストールを区別して今すぐ拡張しました。 –

答えて

0

私はこれを試してみましたが、それがサイレント総作品:

[Run] 
Filename: "path\setup.exe"; Parameters:/VERYSILENT; Flags: nowait 

without "" in Parameter 

希望これはInno Setupのには/Install silentパラメータが

0

ありません役立ちます。

/silent/verysilentがあります。 /silentにはまだインストール進行状況ウィンドウが表示されますが、/verysilentには表示されません。

は、Inno SetupのドキュメントでSetup Command Line Parametersを参照してください:

/SILENT、/ VERYSILENT

はサイレントまたは非常に静かであることをセットアップに指示します。セットアップがサイレントになると、ウィザードとバックグラウンドウィンドウは表示されませんが、インストールの進行状況ウィンドウは表示されます。セットアップが非常に静かな場合、このインストール進行状況ウィンドウは表示されません。それ以外はすべて正常です。たとえば、インストール中のエラーメッセージが表示され、起動時のプロンプトが表示されます(上記で説明したDisableStartupPromptまたは '/ SP-'コマンドラインオプションで無効にしていない場合)。

再起動が必要で、 '/ NORESTART'コマンドが使用されておらず(下記参照)、セットアップがサイレントであれば、今すぐ再起動しますか?メッセージボックス。非常に静かな場合は、尋ねることなく再起動します。


だから、任意のGUIを避けるために/verysilentフラグとサブインストーラを実行する必要があります。

[Run] 
Filename: "setup.exe"; Parameters: "/verysilent"; Flags: nowait 

あなたは黙っサブインストーラを実行したい場合けれどもが、親インストーラが静かに実行されている場合にのみ、あなたは好きなことを行うことができます。

[Run] 
Filename: "setup.exe"; Parameters: "{code:SilentParameter}"; Flags: nowait 

[Code] 

function WizardVerySilent: Boolean; 
var 
    i: Integer; 
begin 
    Result := False; 
    for i := 1 to ParamCount do 
    if CompareText(ParamStr(i), '/verysilent') = 0 then 
    begin 
     Result := True; 
     Break; 
    end; 
end; 

function SilentParameter(Param: string): string; 
begin 
    if WizardSilent then 
    begin 
    if WizardVerySilent then 
     Result := '/verysilent' 
    else 
     Result := '/silent'; 
    end; 
end; 

サイレント区別するためのコード非常にサイレントなインストールは、How to detect whether the setup runs in very silent mode?に触発されました。WizardSilentが標準機能です。

+0

あなたのお返事ありがとうございます。しかし、私はサブインストーラを静かに実行し、コマンドプロンプトでinno setupにverysilentパラメータを与えたいと思っています。上記では、inno setupとsub installerの両方でサイレントインストールのパラメータを示していますが、サブインストーラではUIが表示されています。最初のコードスニペットとして直接指定されている場合は動作します。 「コマンドプロンプトからパラメータを取得する方法」を教えてください。 – cheran

+0

私は答えを更新しました。 –

関連する問題