Wix不会删除VS 2008中的卸载快捷方式

时间:2010-11-25 14:31:21

标签: visual-studio-2008 wix wix3

由于某种原因,卸载时不会删除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>

谢谢!

1 个答案:

答案 0 :(得分:3)

快捷方式所在的组件的Guid是空字符串。看看documentation says关于它的内容:

  

也可以将值设置为   一个空字符串,用于指定   非托管组件。非托管   组件是安全的   漏洞因为组件   无法删除或修复   Windows Installer(基本上是   一个无法修补的永久性组成部分。)

因此,在那里放置一个有效的GUID或只是'*'来解决这个问题。

相关问题