Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在WIX中卸载后无法删除桌面图标_Wix_Windows Installer - Fatal编程技术网

在WIX中卸载后无法删除桌面图标

在WIX中卸载后无法删除桌面图标,wix,windows-installer,Wix,Windows Installer,我正在为我的应用程序使用WIX安装程序,一切正常,但当我卸载应用程序时,桌面图标和startmenu图标仍然存在。 我的xml有什么问题。遵循Wix文档中给出的步骤。 救命 XML: --> 现在没有时间进行测试,但您能否先尝试更改此选项: <Directory Id="DesktopFolder" Name="applicationName" /> 为此: <Directory Id="DesktopFolder" /> 是一个内置的Windows Ins

我正在为我的应用程序使用WIX安装程序,一切正常,但当我卸载应用程序时,桌面图标和startmenu图标仍然存在。 我的xml有什么问题。遵循Wix文档中给出的步骤。 救命

XML:


-->

现在没有时间进行测试,但您能否先尝试更改此选项:

<Directory Id="DesktopFolder" Name="applicationName" />

为此:

<Directory Id="DesktopFolder" />

是一个内置的Windows Installer文件夹,根据(每台机器或每用户安装)的设置,该文件夹应解析为用户的桌面文件夹或所有用户的公用桌面文件夹


在安装过程中,MSI目录解析(成本计算)将为运行系统的DesktopFolder分配正确的值(基于ALLUSERS设置)。我认为只要运行了目录解析,您在WiX源代码中为自己分配给DesktopFolder的任何内容都将被删除,因此没有直接的逻辑原因说明上述WiX标记更改建议应该有效,但我认为应该对其进行测试。如果可用,请在干净的虚拟机上进行测试。

错误。您当然不想删除用户的桌面文件夹。这可能已经导致组件卸载失败,因此桌面快捷方式保持不变。@zett42不,我已经检查过了,这不是问题所在。感谢您的回复。通过运行以下命令行创建详细日志:
msiexec-x{ProductCode}-l*v logfile.txt
(显然用实际的产品代码替换{ProductCode})。在日志中搜索
InstallValidate
。应该有一行包含
组件:ApplicationDeskShortcutComp;安装:本地;请求:缺席;操作:不存在
,类似于“开始”菜单快捷方式。@zett42否日志文件中没有ApplicationDeskShortcutComp条目。“InstallValidate。返回值1。”它不起作用。我还检查了添加/删除程序列表,没有重复的产品。甚至我也尝试使用产品id从命令提示符卸载,以检查重复安装。未找到。您是否至少在干净的虚拟机或干净的计算机上进行了测试?
<Directory Id="DesktopFolder" />