2017-08-17 1 views
0

その力のシャットダウン実行します:私はこの単純なバンドルウィックスバンドルが最後にコンパイルしたBATファイル、これは私の問題の単純化した例である

<Chain> 
    <ExePackage SourceFile="C:\Users\this\Desktop\AAA\eee.exe"></ExePackage> 
</Chain> 

eee.exeに持って

をした結果であります二つのファイル

  • eee.bat
  • eee.txt
のIExpressの

IExpressのは、CMD/C eee.bat

eee.bat行ういくつかのものを実行します それは、再起動を強制的に実行され、このライン

shutdown -r -f -t 0 

ウィックス、インストーラの結果に一度で終了します は、それが途中で再起動を強制リブート

+0

リブート後にコードのどの部分がインストーラを再実行するかを変更します。あなたが投稿したコードにはありません。 eee.batで検索してみてください。 – jmoon

+0

それはおそらく、 "shuthown -r -f -t 0"がwixインストーラを使うので、Windowsはインストールがまだ完了していないと思っているので、再起動後に再び起動しました。 – Hassan

+0

ああ、シャットダウンする前にプロセスを終了したいから。 https://stackoverflow.com/questions/2888851/how-to-stop-process-from-bat-file – jmoon

答えて

0

、私は、ソフトウェアがインストールされているかどうかを検出するための変数を作成するためにRegistrySearchを使用しました。

1

した後にインストーラを再実行しないように

がどのように我々は、この動作を変更することができますinstllerを再実行しますあなたのインストールは良い習慣ではありません。投稿へのコメントが指摘するように、あなたは自分のインストーラを中断しています。代わりに、成功した終了コード(0)を使用してインストーラに再起動を指示できます。

<Chain> 
    <ExePackage SourceFile="C:\Users\this\Desktop\AAA\eee.exe"> 
     <ExitCode Value="0" Behavior="forceReboot"/> 
    </ExePackage> 
</Chain> 

BATファイルからシャットダウン行を削除することを忘れないでください。私はこれにADITIONに

を使用して問題を解決し

+0

これを行うだけで、リブート後にインストーラがまだ起動しません。 2つのインスタンスを再起動します! – Hassan

+0

コンパイルしたバッチファイルからshutdownコマンドを削除しましたか?もしあなたがまだインストーラを再起動しているのであれば、残りのコードを投稿して、なぜ再起動するのかを理解することができます。 – philselmer

関連する問題