由于某种原因,卸载时不会删除Wix快捷方式。
这是我的代码:
<Directory Id="ProgramFilesFolder">
<Directory Id="INSTALLDIR" Name="App">
<Component Id="AppExecutable" DiskId="1" Guid="12854481-BE33-4733-8B46-FDB424057C9A">
<File Id="App1ExecutableFile" Source="$(var.RESOURCEDIR)\App.exe" KeyPath="yes">
</File>
</Component>
</Directory>
</Directory>
<Directory Id="ProgramMenuFolder" Name="PMFiles">
<Directory Id="AppShortcutDirectory" Name="App for OS">
<Component Id="App1Shortcuts" DiskId="1" Guid="">
<RegistryValue Root="HKCU" Key="[ApplicationRegistryPath]\MsiInstaller\GuestShortcutsAreInstalled" Type="string" Value="" KeyPath="yes" />
<Shortcut Id="App1ExecutableShortcut" Directory="AppShortcutDirectory"
Target="[#App1ExecutableFile]" Name="App"
WorkingDirectory="INSTALLDIR" Description="Run the App" Advertise="no" />
<RemoveFolder Id="DelteShortcutFolder1" Directory="AppShortcutDirectory" On="uninstall" />
</Component>
</Directory>
</Directory>
谢谢!
答案 0 :(得分:3)
快捷方式所在的组件的Guid是空字符串。看看documentation says关于它的内容:
也可以将值设置为 一个空字符串,用于指定 非托管组件。非托管 组件是安全的 漏洞因为组件 无法删除或修复 Windows Installer(基本上是 一个无法修补的永久性组成部分。)
因此,在那里放置一个有效的GUID或只是'*'来解决这个问题。