0

サイレント インストーラーの NSIS ドキュメントの例を試しています。行のコメント解除

; SilentInstall silent

はい、インストーラーはサイレントです。ただし、メッセージ ボックスが表示されます。インストーラーがサイレント モードの場合でも、メッセージ ボックスが表示されることが予想されます。メッセージボックスもサイレントにするには、メッセージボックスごとに /SD オプションを使用する必要があります。サンプル スクリプトでは、次のように提案されています。

MessageBox MB_OK|MB_ICONINFORMATION "This is not a silent installer" /SD IDOK

メッセージ ボックスをサイレントにする別の手段が公開されています。サイレントかどうかをチェックします。無音の場合は、2 行先にジャンプします (メッセージ ボックスは表示されません)。

IfSilent 0 +2
    MessageBox MB_OK|MB_ICONINFORMATION 'This is a "silent" installer'

この 2 番目の解決策はうまくいきません。インストーラーをサイレントに設定すると、「これはサイレント インストーラーです」というボックスが表示されます。私はそれを変更する場合

MessageBox MB_OK|MB_ICONINFORMATION 'This is a "silent" installer' /SD IDOK

メッセージは表示されません。

なぜジャンプインなのか

IfSilent 0 +2

動作していませんか?+3もできていません。

4

2 に答える 2

8

zbynourが言ったように、パラメータが混同されました。

相対ジャンプの問題を回避するには、logiclibを使用します。

!include LogicLib.nsh

...

${IfNot} ${Silent}
  MessageBox ...
${EndIf}
于 2012-11-16T16:48:45.867 に答える
3

最初の引数は、サイレント インストールの場合はジャンプするオフセットです(非サイレントの場合は 2 番目の引数)。

これを試して:

IfSilent +2 0
于 2012-11-16T11:45:51.583 に答える