ich diesen Code verwenden, um zu starten (nach innen Produkt-Knoten definiert) einer einfachen benutzerdefinierten AktionWiX nicht benutzerdefinierte Aktion mit .NET Framwork 4
<!-- Run as admin -->
<Property Id="Privileged" Value="1" />
<!-- .NET Framework must be 4.6-->
<PropertyRef Id="WIX_IS_NETFRAMEWORK_46_OR_LATER_INSTALLED" />
<Condition Message="You must install Microsoft .NET Framework 4.6 or higher.">
<![CDATA[Installed OR WIX_IS_NETFRAMEWORK_46_OR_LATER_INSTALLED]]>
</Condition>
<Binary Id="Ctav8.CustomAction.CA.dll"
SourceFile="$(var.Ctav8.CustomAction.TargetDir)Ctav8.CustomAction.CA.dll" />
<CustomAction Id="CustomAction1"
Return="check"
Execute="immediate"
BinaryKey="Ctav8.CustomAction.CA.dll"
DllEntry="CustomAction1" />
<InstallExecuteSequence>
<Custom Action="CustomAction1" After="InstallFiles" />
</InstallExecuteSequence>
Und das ist die einfache benutzerdefinierte Aktion mit seiner Konfiguration
zu startenpublic class CustomActions
{
[CustomAction]
public static ActionResult CustomAction1(Session session)
{
session.Message(InstallMessage.Warning, new Record
{
FormatString = "test"
});
return ActionResult.Success;
}
}
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v2.0.50727"/>
<supportedRuntime version="v4.0"/>
</startup>
</configuration>
Hinweis: Die Konfigurationsdatei heißt 'CustomAction.config' und ihre Build-Aktion wird auf 'Inhalt' gesetzt. Ich habe versucht, 'useLegacyV2RuntimeActivationPolicy' auf wahr und falsch zu setzen, aber das Ergebnis ist immer noch das gleiche.
Wenn ich das .NET Framework des benutzerdefinierten Aktionsprojekts auf 3.5 ändere, funktioniert dieser Code einwandfrei.
Was ist los?
Dank