Wix не удаляет ярлыки при удалении в VS 2008 - PullRequest
2 голосов
/ 25 ноября 2010

по какой-то причине ярлык 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 Ответ

3 голосов
/ 25 ноября 2010

Guid компонента, в котором находится ярлык, является пустой строкой. Посмотрите, что документация говорит об этом:

Также можно установить значение пустая строка для указания неуправляемый компонент. Неуправляемый компоненты безопасности уязвимость, потому что компонент нельзя удалить или отремонтировать Установщик Windows (это по сути не исправляемый, постоянный компонент).

Итак, поместите туда правильный GUID или просто '*', чтобы это исправить.

...