1

WIXを使用したMSIインストールの開始時にアプリケーション(C#コンソールアプリ)を展開して実行しようとしていますが、問題があります。

アプリケーションは、Webサーバーのアクションが発生する前に、ファイルがMSIからターゲットの場所にコピーされた後に実行する必要があります。

アプリを実行することはできますが、MSIを実行する前にディレクトリにアプリケーションを実際にコピーした場合に限ります。そうしないと、MSIログに存在しないアプリに関連するエラーが発生します。つまり、基本的には、使用している起動シーケンスに関係していると思います。実行する前に、アプリが存在することを確認する必要があります。

あなたの良い人の一人が私を助けることができるかどうか疑問に思います。

要件は、アプリケーションがWIX MSIが最初に実行するように実行する必要があることです(実際には、Webサービスの一部が発生する前に)。

Wixの関連ビットは次のとおりです。

    <CustomAction Id='LaunchUpdaterRunFirst' FileKey='serverUpdaterRunFirstExe' ExeCommand='' Return='ignore' />

..。

    <InstallExecuteSequence>
       <Custom Action='CA_BlockOlderVersionInstall' After='FindRelatedProducts'>NEWERVERSIONDETECTED</Custom>
       <RemoveExistingProducts After="InstallInitialize" />
       <Custom Action='LaunchUpdaterRunFirst' After='InstallInitialize' />
       <Custom Action='LaunchInstaller' After='InstallFinalize'><![CDATA[ REMOVE <> "ALL" and  UILevel <> 2]]></Custom>
    </InstallExecuteSequence>

..。

     <Component Id="ServerInstaller" DiskId="1" Guid="9662EC72-1774-4d22-9F41-AD98A5DCD729">
        <File Id="serverUpdaterRunFirstExe" Name="MyCompany.Server.Updater.RunFirst.exe" Source="$(var.SOURCEPATH)\MyCompany.Server.Updater.RunFirst.exe" />
        <File Id="serverUpdaterRunFirstExeConfig" Name="MyCompany.Server.Updater.RunFirst.exe.config" Source="$(var.SOURCEPATH)\MyCompany.Server.Updater.RunFirst.exe.config" />

ヘルプや参考資料をいただければ幸いです。

4

2 に答える 2

-1

インストールするファイルのリストに実行可能ファイルを追加する代わりに、バイナリファイルとして入力してみてください。

<Product ......>

  <Binary Id="serverUpdaterRunFirstExe" SourceFile="$(var.SOURCEPATH)\MyCompany.Server.Updater.RunFirst.exe" />

  <CustomAction Id="LaunchUpdaterRunFirst" BinaryKey="serverUpdaterRunFirstExe" />

</Product>
于 2010-05-18T10:35:25.577 に答える
-2

WiX InstallExecuteSequenceを参照してください。現在使用している

<Custom Action='LaunchUpdaterRunFirst' After='InstallInitialize' />

しかし、その時点ではファイルはまだコピーされていません。したがって、次のいずれかを使用する必要があると思います。

<Custom Action='LaunchUpdaterRunFirst' After='InstallFiles' />
<Custom Action='LaunchUpdaterRunFirst' Before='ConfigureIIs' />
于 2010-07-30T17:21:59.507 に答える