尚未解析的CustomAction参考:WiX中的清理

时间:2017-06-23 07:39:31

标签: c# wix

使用dark.exe从Installshield处理MSI文件时,从Visual Studio 2013构建时会生成一个包含多个错误实例的文件:

this.excavationInformationForm.get('typeName').setValue(options[0].id);

wxs文件的一部分是:

Unresolved reference to symbol 'CustomAction:CleanUp'

使用ORCA查看MSI文件,表中的CustomAction包含LaunchProgramFileFromSetupCompleteSuccess的条目(不会抛出错误),并且没有清除条目,因此dark.exe的行为一致,因为它创建了一组CustomActions,如下所示:

          <Dialog Id="SetupCompleteSuccess" X="50" Y="50" Width="374" Height="266" Title="[ProductName] - InstallShield Wizard" NoMinimize="yes">
            <Control Id="OK" Type="PushButton" X="230" Y="243" Width="66" Height="17" Text="&amp;Finish" TabSkip="no" Default="yes" Cancel="yes">
                <Publish Event="DoAction" Value="CleanUp">ISSCRIPTRUNNING="1"</Publish>
                <Publish Event="DoAction" Value="LaunchProgramFileFromSetupCompleteSuccess">LAUNCHPROGRAM And PROGRAMFILETOLAUNCHATEND &lt;&gt; "" And NOT Installed</Publish>
                <Publish Event="EndDialog" Value="Exit">1</Publish>
                <Publish Event="DoAction" Value="ShowMsiLog">MsiLogFileLocation And (ISSHOWMSILOG="1") And NOT ISENABLEDWUSFINISHDIALOG</Publish>
            </Control>

我该如何处理这个问题?

1 个答案:

答案 0 :(得分:0)

查找dll'清理'自定义操作是否存在并添加参考

<Binary Id="CleanupBinary" SourceFile="Your location of the CleanUp Dll" />
<CustomAction Id="CleanUp" BinaryKey="CleanupBinary" DllEntry="Your cleanup custom action name" />