具有自定义安装位置的Wix捆绑卸载包

时间:2015-01-07 18:55:34

标签: wix windows-installer wix3.7 burn

我有一个Wix捆绑包,允许用户自定义安装目录,并在安装过程中将值传递给包。这是使用本答案中描述的方法实现的:How do I pass a default 'install location' to the RtfLicense bootstrapper?

如果用户在运行bundle并卸载后没有更改安装目录,则会按预期删除所有文件。如果用户确实选择了另一个安装目录并运行bundle并卸载应用程序,则不会删除文件。我想这是因为bundle传递了默认目录,但显然不存在。由于快捷方式位置不依赖于安装目录,因此删除了在安装过程中创建的快捷方式的更多内容。

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

"安装位置"没有被捆绑保存。软件包必须在安装时保存所需的任何内容,并在其他操作期间将其读回。对于MsiPackage,通常使用"Remember Property" pattern来完成。目录路径作为属性进行操作,因此可以保存所需的任何目录路径。