我创建了一个WiX安装程序项目和一个CustomAction项目。我已成功将MyCustomAction添加到安装脚本中,它可以正常工作。
但是,每次执行安装程序时,安装程序都会在[INSTALLFOLDER]
中留下空文件夹。它们的名称为MyCustomAction.CA.dll-
,MyCustomAction.CA.dll-0
,MyCustomAction.CA.dll-1
等。即使是卸载程序也不会删除它们,因此空文件夹的数量会变得更大。
有没有办法防止文件夹创建?我尝试了不同的Execute值(commit,deferred),但它们似乎没有任何区别。
MyCustomAction定义如下:
<CustomAction Id="MyCustomAction"
Return="check"
Execute="commit"
FileKey="MyCustomAction.CA.dll"
DllEntry="MyCustomAction" />
<InstallExecuteSequence>
<Custom Action="MyCustomAction" Before="InstallFinalize">NOT Installed</Custom>
</InstallExecuteSequence>
答案 0 :(得分:0)
我找到了问题的解决方案:我已将MyCustomAction.CA.dll
包含在我的产品的安装文件中,而不包含在自己的片段中。这导致dll被复制到安装文件夹。
现在,在自己的片段中定义CustomActions时,不会在INSTALLFOLDER中创建临时文件夹。
答案 1 :(得分:0)
你为他们添加了一个二进制条目吗?
<Binary Id='FooBinary' SourceFile='foo.dll'/>
http://wixtoolset.org/documentation/manual/v3/wixdev/extensions/authoring_custom_actions.html