Как убрать ярлыки с рабочего стола? - PullRequest
1 голос
/ 02 марта 2012

Установщик создает 2 ярлыка на рабочем столе: файл (FS) и ярлыки Интернета (IS). При удалении FS удаляется нормально, но IS все еще существует. Затем я прокомментировал FS и протестировал. Теперь он успешно создан и удален.

Что не так?

    <Directory Id='TARGETDIR' Name='SourceDir'>
        <Directory Id="DesktopFolder" Name="Desktop"/>
        <Directory Id="ProgramMenuFolder" Name="PMenu">
            <Directory Id="ProgramMenuDir" Name="Advertised Shortcut" />
        </Directory>
    </Directory>

    <DirectoryRef Id="DesktopFolder">
<Component Id="ApplicationShortcutConf" Guid="{9FF60FF5-F1A2-413F-98FB-CF7B3101F10F}">
  <Shortcut Id="CompanyUtilConfigurator1"
              Directory="DesktopFolder"
              Advertise="no"
              Name="Company Util Configurator"
              WorkingDirectory="INSTALLDIR"
              Icon="CompanyUtilConfiguratorIcon.exe">
  </Shortcut>
  <RegistryValue Root="HKCU" Key="Software\Company LLC\Company\Util" Name="installed_conf" Type="integer" Value="1" KeyPath="yes"/>

  <RemoveFolder Id="DeleteShortcutFolder1"
              Directory="DesktopFolder"
              On="uninstall" />
</Component>

        <Component Id="ApplicationShortcut" Guid="{77C005A8-63DC-43F1-9081-84157EDED0B3}">
            <Condition><![CDATA[WS_SHORTCUT_NAME<>""]]></Condition>
  <util:InternetShortcut
            Id="Home" 
            Directory="DesktopFolder"
            Name="Company Util" Type="url"
            Target="[WS_SHORTCUT_NAME]"/>
            <RemoveFolder Id="DesktopFolder2"  Directory="DesktopFolder" On="uninstall"/>
            <RegistryValue Root="HKCU" Key="Software\Company LLC\Company\Util" Name="installed" Type="integer" Value="1" KeyPath="yes"/>
        </Component>
    </DirectoryRef>

1 Ответ

4 голосов
/ 06 марта 2012

Я попробовал этот код для вашей проблемы, и он работает

<RegistryKey Root="HKCU" Key="!(wix.Manufacturer)\!(wix.Product)" Action="createAndRemoveOnUninstall">
  <RegistryValue Name="FirstShortCut" Type="integer" Value="1" KeyPath="yes"  />
</RegistryKey>

<Shortcut Id="FirstShortCut" Directory="DeskTopFolder" WorkingDirectory="INSTALLDIR" Advertise="no" Name="ShortCutA" Icon="chk_on.ico"/>

  <Component Id="ShortCutB" Guid="{435CE3D7-047F-4bdb-9CDB-6A2AED1A1303}">
    <RegistryKey Root="HKCU" Key="!(wix.Manufacturer)\!(wix.Product)" Action="createAndRemoveOnUninstall">
      <RegistryValue Name="SecondShortCut" Type="integer" Value="1" KeyPath="yes"  />
    </RegistryKey>

    <util:InternetShortcut Id="SecondShortCut" Name="Second" Target="http://www.stackoverflow.com"/>

  </Component>
</DirectoryRef>

Попробуйте ... Также всегда помогает войтиУстановка Используйте это в командной строке:
msiexec / i [имя_сайма] / l * v [имя файла]

...