【发布时间】:2018-07-30 11:40:24
【问题描述】:
我正在为我的应用程序使用 WIX 安装程序,一切正常,但是当我卸载应用程序时,桌面图标和开始菜单图标仍然存在。 我的xml有什么问题。遵循 Wix 文档给出的步骤。 帮助..
XML:
<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Product Id="*" Name="applicationName" Language="1033" Version="1.0.0.0" Manufacturer="manufacturerName" UpgradeCode="PUT-GUID-HERE">
<Package Id="*" InstallerVersion="201" Compressed="yes" InstallScope="perMachine" Comments="Windows Installer Package" ReadOnly="yes" InstallPrivileges="elevated" />
<Feature Id="ProductFeature" Title="applicationName" Level="1">
<ComponentRef Id="Permission.INSTALLFOLDER" />
<ComponentRef Id="ApplicationDeskShortcutComp" />
<ComponentGroupRef Id="HeatGenerated" />
</Feature>
<Media Id="1" Cabinet="cab1.cab" EmbedCab="yes" />
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="ProgramFiles64Folder">
<Directory Id="CompanyNameFolder" Name="CompanyName">
<Directory Id="INSTALLFOLDER" Name="applicationName">
<Component Id="Permission.INSTALLFOLDER" Guid="*">
<CreateFolder>
<Permission User="Everyone" GenericAll="yes" />
</CreateFolder>
</Component>
</Directory>
</Directory>
</Directory>
<Directory Id="DesktopFolder" Name="applicationName" />
</Directory>
</DirectoryRef>-->
<!--Add the shortcut to installer package For DeskTop-->
<DirectoryRef Id="DesktopFolder">
<Component Id="ApplicationDeskShortcutComp" Guid="*" Win64="yes" >
<Shortcut Id="ApplicationDeskShortcut" Name="applicationName" Description="applicationName" Target="[INSTALLFOLDER]exeName.exe" WorkingDirectory="DesktopFolder" Icon="IconName.exe" >
</Shortcut>
<RemoveFolder Id="DesktopFolder" On="uninstall" />
<RegistryValue Root="HKCU" Key="Software\Manufacturer\ProductName" Name="installed" Type="integer" Value="1" KeyPath="yes" />
</Component>
</DirectoryRef>
<Property Id="MYWIXUI_MONDO" Value="INSTALLFOLDER" />
<UIRef Id="MyWixUI_Mondo" />
<Icon Id="IconName.exe" SourceFile=".\Icons\MainLogo.ico" />
<Property Id="ARPPRODUCTICON" Value="IconName.exe" />
</Wix>
【问题讨论】:
-
<RemoveFolder Id="DesktopFolder" On="uninstall" />是错误的。您当然不想删除用户的桌面文件夹。这可能已经导致组件卸载失败,因此桌面快捷方式保留在那里。 -
@zett42 不,我已经检查过了,这不是问题所在。感谢您的回复。
-
通过运行以下命令行创建详细日志:
msiexec -x {ProductCode} -l*v logfile.txt(显然将 {ProductCode} 替换为实际产品代码)。在日志中搜索InstallValidate。应该有一行包含Component: ApplicationDeskShortcutComp; Installed: Local; Request: Absent; Action: Absent,类似于开始菜单快捷方式。 -
@zett42 不,日志文件中没有 ApplicationDeskShortcutComp 的条目。 “InstallValidate。返回值 1。”
标签: wix windows-installer