0

当我安装 .msi 文件时,我在开始菜单和桌面上生成了快捷方式,但是当我卸载桌面快捷方式时,桌面快捷方式被删除但开始菜单。我的代码如下。请帮我解决我的问题。我已经花了将近 1 天的时间。

<Directory Id="ProgramMenuFolder">
   <Directory Id="ProgramMenuSubfolder" Name="Kiosk">
      <Component Id="ApplicationShortcuts" Guid="12345678-1234-1234-1234-333333333333">
         <Shortcut Id="ApplicationShortcut1" Name="Kiosk" Description="Solusoft Product" Target="[INSTALLDIR]AMP\1.0.0.0\mpkiosk.exe" WorkingDirectory="INSTALLDIR"/>
         <RegistryValue Root="HKCU" Key="Software\Kiosk" Name="installed" Type="integer" Value="1" KeyPath="yes"/>
         <RemoveFolder Id="ApplicationShortcut1" On="uninstall"/>
      </Component>
   </Directory>
</Directory>
4

5 回答 5

7

就我而言,在组件上,我有 GUID="*" 并且没有删除快捷方式。

我使用了硬编码的 GUID,例如: Guid="cc509cb7-c1a1-46cf-8c62-7cbb0017783c" 并删除了快捷方式。

问候。

于 2014-02-04T09:50:22.067 回答
4

你的代码有错误。

代替:

<RemoveFolder Id="ApplicationShortcut1" On="uninstall"/>

利用:

<RemoveFolder Id="ProgramMenuSubfolder" On="uninstall"/>

这应该这样做。

于 2012-05-15T12:22:16.573 回答
2

就我而言,我尝试了不同的选项,并且有一个注释掉的部分具有相同的 GUID。将其更改为不同的 GUID,即使另一个被注释掉,也有效。

于 2017-06-16T06:02:19.350 回答
0

下面是我在我的项目中使用的代码。希望,它会有所帮助。我认为您可以使用“RemoveFile”而不是“RemoveFolder”,并且不要忘记将“Name”属性放入其中。

            <RegistryKey Action="createAndRemoveOnUninstall" Root="HKCU"
                         Key="Software\$(var.ManufacturerEng)\$(var.ProductName)\$(var.ApplicationName)">
                <RegistryValue Name="ShortcutService"
                               Type="integer" Value="1"
                               KeyPath="yes">
                </RegistryValue>
            </RegistryKey>
            <Shortcut Advertise="no" Directory="ApplicationProgramsFolder"
                      Name="ServiceCC"
                      Target="[INSTALLLOCATION]Service.exe"
                      Id="SHORTCUT_serv"
                      WorkingDirectory="INSTALLLOCATION">
            </Shortcut>
            <RemoveFile Id="remove_serviceshort" Name="ServiceCC" On="uninstall"/>
            <RemoveFolder Id="ApplicationProgramsFolder" On="uninstall"/>
        </Component>
于 2012-05-15T08:02:44.590 回答
0

就我而言,这是一个复制粘贴错误。我为组件使用的 Guid 与我在该文件夹中为其创建快捷方式的另一个产品相同。因此在卸载时删除图标失败

于 2021-03-16T10:24:46.363 回答