我想把我的程序快捷方式添加到开始菜单快捷方式中的一个现有文件夹中。例如: 所有程序 -> AppNameFolder -> AppNameVersionFolder -> AppShortcut
为了实现这一点,我添加了以下几行:
<Directory Id="ProgramMenuFolderApp" Name="App">
<Directory Id="ProgramMenuDir" Name="APP 6.3.0">
请将以下代码添加到我的.wxs文件中:
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="ProgramFilesFolder" Name="Program Files">
<Directory Id="CompanyName" Name="CompanyName">
<Directory Id="App" Name="App">
<Directory Id="INSTALLDIR" Name="App 6.3.0">
<Component Id="MainExecutable" Guid="23FFE6FD-2BEA-4946-9875-8DBEEA5AAF55">
<File Id="AppEXE" Name="App.exe" Source="App.exe" KeyPath="yes">
<Shortcut Id="startmenu" Directory="ProgramMenuDir" Name="App 6.3.0" WorkingDirectory='INSTALLDIR' Icon="App.exe" IconIndex="0" Advertise="yes" />
<Shortcut Id="desktopApp" Directory="DesktopFolder" Name="App 6.3.0" WorkingDirectory='INSTALLDIR' Icon="App.exe" IconIndex="0" Advertise="yes" />
</File>
</Component>
</Directory>
</Directory>
</Directory>
</Directory>
<Directory Id="ProgramMenuFolder" Name="Programs">
<Directory Id="ProgramMenuFolderApp" Name="App">
<Directory Id="ProgramMenuDir" Name="App6.3.0">
<Component Id="ProgramMenuDir" Guid="BF266F76-192A-493E-B5C7-C54660E61D7D">
<RemoveFolder Id="ProgramMenuDir" On="uninstall" />
<RegistryValue Root="HKCU" Key="Software\CompanyName\App6.3.0" Type="string" Value="" KeyPath="yes" />
</Component>
</Directory>
</Directory>
</Directory>
<Directory Id="DesktopFolder" Name="Desktop" />
</Directory>
在构建时,我遇到以下错误:
目录ProgramMenuFolderApp在用户配置文件中,但未列在RemoveFile表中
。
然而,我不想在卸载时删除更高级别的文件夹,我只想删除App 6.3.0文件夹及以下文件夹。
如何将快捷方式添加到开始菜单的程序子文件夹中?
ProgramMenuDir
组件中添加了<RemoveFolder Id="ProgramMenuFolderApp" On="uninstall" />
,但仍然遇到了错误。 - Seth