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