2

メインウィンドウのインストーラファイルをインストールする前にカスタムexeファイルをインストールしようとしています。メインアプリケーションをカスタムアクションシーケンスにインストールする前にサイレントインストーラファイルをシーケンスする方法は?

私はInstall Sheild Limited Editionを使用しています。すべてを設定した後、カスタムアクションの「製品登録後」にサイレントインストーラファイルのシーケンスを設定し、エラー1618(別のインストールが進行中です)を表示します。メインインストーラが進行中であるため、許可されませんサイレントインストーラー.msiをインストールするが、このエラーの解決方法はわかりません。

しかし、問題は、私のようにソースの場所を選択していている「INSTALLDIR」と「ファイルは、ターゲットコンピュータ上に存在」とファイルの場所。これをやったら

私はエラーになっています1618

これを解決するために

誰もが私を助けることができますか?

SilentInstaller.exeファイル内のコードは以下の通りである:私はパスして、すべてを確認しただけ順番に打たれてしまった

Process processObj = Process.Start("msiexec.exe", @"/i "folderpath\SqlLocalDB.msi" /qn IACCEPTSQLLOCALDBLICENSETERMS=YES"); 
          //Loop until the process has exited 
          do 
          { 
           //refresh the process 
           processObj.Refresh(); 
          } while (!processObj.WaitForExit(1000)); 

ご協力いただきますようお願い申し上げます。ありがとう。

答えて

2

Windowsインストーラは、実行しようとしていることを妨げるミューテックスを強制します。 InstallShield Limited Editionを使用しているため、技術的にはPRQのみを使用できます。しかし、InstallShield Pro/PremをVM上に置くと、それを使ってPRQファイルを生成し、それをあなたのLimited Editionプロジェクトに持ち込むことができます。これにより、MSIが実行される前にsetup.exeがMSIを実行し、ミューテックスを回避します。

http://blog.iswix.com/2006/11/using-installshield-12-to-install-net.html

関連する問題