この wix マージ モジュール プロジェクトを作成し、dll カスタム アクションを追加しました。
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Module Id="MergeModule1" Language="1033" Version="1.0.0.0">
<Package Id="cffa568e-1bf0-4eb3-bee3-eb5801a0bbd0" Manufacturer="Microsoft" InstallerVersion="200" />
<Binary Id="myCustomActionsDLL" SourceFile="CustomAction1.CA.dll" />
<CustomAction
Id="CA_myCustomAction"
BinaryKey="myCustomActionsDLL"
DllEntry="CustomAction1"
Execute="deferred"
Return="asyncWait" />
<InstallExecuteSequence>
<Custom Action="CA_myCustomAction" Before="InstallFinalize" />
</InstallExecuteSequence>
</Module>
</Wix>
InstallShield Limited Edition セットアップ プロジェクトでRedistributables
、MergeModule1.msm ファイルをクリックして参照し、追加します。
作成した MSI を実行すると、正常にインストールされますが、ファイルが表示されないため、カスタム アクションが実行されていないようですc:\test.txt
。
[CustomAction]
public static ActionResult CustomAction1(Session session)
{
File.WriteAllText(@"c:\test.txt", session.GetTargetPath("") + "-----" + session.GetSourcePath(""));
return ActionResult.Failure;
}
Custom Action
ORCA で作成された MSI ファイルを開くと、テーブルに があることがわかりInstallExecuteSequence
ます。
実行されない理由は何ですか?