2013-10-09 97 views
1

我一直在使用WiX为我的项目创建一个安装程序。这非常简单,只需将一些文件放在多个位置并运行VBScript即可生成最后一个文件。Windows Installer不会删除卸载文件

VBS的一些困难后,我得到它的安装,但是当我卸载程序包消失了控制面板,但安装的文件仍然存在。

我已经安装和卸载日志,并且也发布了WiX源文件。链接如下。

任何帮助非常感谢!

install log

WiX source

uninstall log

注意,这是在安装服务器于2003年

我知道这是充满了驱动器号和完整路径,而不是最好的练习,但这是文件需要去的地方。这不适用于各种计算机类型和配置;在我们的零售店有超过一万个这样的系统,它们都是相同的。

+0

我认为你混淆了你的日志文件的链接,但问题在于你的vb脚本创建的文件没有被删除,或者wix组件?您似乎在安装和卸载上都运行脚本自定义操作。 –

+0

我可能弄错了链接,对此很抱歉。问题是所有安装的文件都没有被删除。我没想到它会得到我从VBS创建的那个。 我看到脚本在安装和卸载时运行,但我想明白下一步该如何工作。这是一个创建的小文件,我不确定我是否真的想删除它。 – Walt

回答

0

我在错误的时间运行了自定义操作,所以它在卸载时运行得太晚以至于无法定义C驱动器的位置。

我从改变是什么在维克斯上面:

<CustomAction Id="CA_SetCDrive" Directory="C_DRIVE" Value="c:\" /> 

<InstallExecuteSequence> 
    <Custom Action="CA_SetCDrive" After="CostFinalize" /> 
</InstallExecuteSequence> 

<Directory Id="TARGETDIR" Name="SourceDir"> 
    <Directory Id="C_DRIVE" Name="CDrive" /> 
</Directory> 

,现在它工作正常。

+0

你怎么知道“C盘”是“c:”?使用Windows Installer的预定义[系统文件夹属性]之一可能会更好(http://msdn.microsoft.com/zh-cn/library/windows/desktop/aa370905%28v=vs.85%29.aspx #system_folder_properties)。每个操作系统的每个版本都有自己的系统和用户目录的目录布局方案。 Windows安装程序试图使它容易。 –

+0

不删除WiX创建的文件的其他问题也消失了吗?此外,汤姆是正确的:将目录属性设置为硬编码值,这不仅仅是坏样式,它是错误的设置设计。您不需要自定义操作,只需使用预定义的目录“Wi​​ndowsVolume”(访问包含操作系统的驱动器的根目录)并创建一个目录“MYFOLDER”或“INSTALLDIR”或下面的任何目录。真的更好,因为Win guidline conform使用“ProgramFilesFolder”或“ProgramFiles64Folder”下的默认路径,而不是“WindowsVolume”。 – Philm

+0

(信息:使用带CAPS字母的自己的目录名称有时会提供从命令行重写该目录的内置选项)。 – Philm

相关问题