2017-06-22 8 views
0

私たちはnsisインストーラで構築するソフトウェアを持っています。ある時点では、いくつかの条件に関して、再起動を行うかどうかを判断する必要があります。NSISサイレントモードで再起動します。コミュニケーションの方法は?

これは問題ではありません。

ソフトウェアは、当社の管理者を通じてソフトウェアの配布によってインストールされている
;Reboot instructions. In silent mode just set a RebootFlag and otherwize show the confirmation box. 
IfRebootFlag doReboot doNotReboot 
doReboot: 
    IfSilent doSilent doNotSilent 
    doSilent: 
     ;if silent, do not reboot 
     Goto doNotReboot 
    doNotSilent: 
     MessageBox MB_YESNO "A reboot is required to finish the installation. Do you wish to reboot now?" IDNO doNotReboot 
      Reboot 
doNotReboot: 

(とないユーザーによってではなく、直接サイレント)、彼らは再起動が必要とされているかどうかを知る必要があります。私たちはそれが好きです。

彼らに知らせる理由は何でしょうか?

現在、2つのオプションがあります。

  1. レジストリキーを作成します。 Windows用の標準的な方法、またはこの目的のために既に存在するキーがありますか? '
  2. 定義済みの戻りコードを返します。ここにも標準はありますか?

ありがとうございました。

答えて

1

MsiExec.exe usesERROR_SUCCESS_REBOOT_REQUIREDSetErrorLevelで終了コードを設定することができます。

!ifndef ERROR_SUCCESS_REBOOT_REQUIRED 
!define ERROR_SUCCESS_REBOOT_REQUIRED 3010 
!endif 

Section 
IfRebootFlag ... 
    ... 
    SetErrorLevel ${ERROR_SUCCESS_REBOOT_REQUIRED} 
SectionEnd 
+0

ありがとうございました。明らかに私は適切に調査していませんでした。 – kism3t

関連する問題