特定の値に基づいてインストールに異なるdllを含めたいと思います。したがって、カスタムアクションを使用して設定されたプロパティに基づいてコンポーネントをロードしようとしています。WiXはCustomActionを使用して設定されたプロパティを確認できません
[CustomAction]
public static ActionResult GetPropVersion(Session session)
{
session["PropDllVersion"] = "19";
}
私は、このプロパティを19に変更されていることをMSIログファイルで見ることができる、しかしxyz.dll:カスタムアクションファイルで次に
...
<Property Id="PropDllVersion" Value="0" />
...
<CustomAction Id="CheckPropDllVersion" BinaryKey="CustomAction1.dll" DllEntry="GetPropVersion" Return="ignore" Execute="immediate"/>
...
<InstallExecuteSequence>
<Custom Action="CheckPropDllVersion" After="ValidateProductID" />
</InstallExecuteSequence>
...
<Component Id="Test"
Guid="B81F832D-2D96-4169-9BD0-8D77098FEC60">
<Condition><![CDATA[PropDllVersion = "19"]]></Condition>
<File Id="File15"
Name="xyz.dll"
Vital="yes"
KeyPath="yes"
AssemblyManifest="File5"
AssemblyApplication="File5"
Assembly=".net"
DiskId="1"
/>
</Component>
...
:WXSファイルで
インストールには含まれません。 PropDllVersionが条件レベルで設定されていないか、何か間違っているようです...まだ多くの場所でシーケンスを実行しようとしました...
私の財産の代わりにそれが動作する状態!
なぜ私はこの質問に対して否定的な評価を得たのか分かりません。私がここに紹介した他のソリューションをすべて試したわけではありません。この質問への否定的な評価の理由を感謝します... – Samuel