我有一个应用程序,它将安装Start Menu文件夹的快捷方式。它在Win7中完美运行。但是当我在Windows 10机器中安装应用程序时,快捷方式不会出现。我的WIX文件中的快捷方式条目如下所示。
<Component Id="cmptest" Guid="*" KeyPath="yes">
<Shortcut Id="test.exe2" Directory="StartMenuFolder"
Name="test" Target="[#test.exe]" Hotkey="0" IconIndex="0" Show="normal" />
</Component>
答案 0 :(得分:1)
在深入细节之前:
目录 StartMenuFolder 不会为我的测试项目编译,直到我自己将其添加为TARGETDIR下的目录:
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="StartMenuFolder" />
</Directory>
我假设您已经在此处添加了此文件夹以进行编译。您也可以尝试使用 ProgramMenuFolder 进行测试,看看是否显示了快捷方式。
您的其他WiX源在哪里?我无法确定您是否确实安装了您引用的文件:#test.exe
?承载该文件的组件是否实际安装在Windows 10上?
还有一些额外的陌生感:我没有看到这么多,但是因为问题在Windows 10上显现出来,可能会读到这个答案并看看它是否响起任何铃声:Wix Uninstall Shortcut not working
基本上,一些快捷方式会在Windows 8中自动隐藏,并且可能会向上隐藏。我没有看到为什么你的快捷方式应该被隐藏的原因。
答案 1 :(得分:0)
我已经能够使用Stein Asmul建议的ProgramMenuFolder进行显示来显示快捷方式进行测试。以下是我可以正常使用的设置,但例外是我的图标没有显示。
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="ProgramFilesFolder">
<Directory Id="INSTALLFOLDER" Name="Barcode Printer App" />
</Directory>
<Directory Id="ProgramMenuFolder">
<Directory Id="BarcodePrinterAppShortcuts" Name="Barcode Printer App" />
</Directory>
</Directory>
<ComponentGroup Id="ProductComponents" Directory="INSTALLFOLDER">
<Component Id="ProductComponent">
<File Id="BarcodeAppExe" Source="$(var.BarcodePrinterHelperApp.TargetPath)" >
<Shortcut Id="BarcodeAppShortcut"
Directory="BarcodePrinterAppShortcuts"
Name="Barcode Printer App"
WorkingDirectory="INSTALLFOLDER"
Advertise="yes"
Icon="icon.ico"
IconIndex="0"
>
</Shortcut>
</File>
<RemoveFolder Id="DeleteTheBarcodeAppShortcut"
Directory="BarcodePrinterAppShortcuts"
On="uninstall" />
</Component>
</ComponentGroup>
<Component Id="UninstallShortcut" Guid="*" Directory="BarcodePrinterAppShortcuts">
<Shortcut Id="UninstallThisProduct"
Name="Uninstall Barcode Printer App"
Description="Uninstalls Barcode Printer App"
Target="[System64Folder]msiexec.exe"
Arguments="/x [ProductCode]" />
<RegistryValue Root="HKCU" Key="Software\Powerserve\BarcodePrinterApp" Name="installed" Type="integer" Value="1" KeyPath="yes" />
</Component>
答案 2 :(得分:-1)
可能是许可问题。尝试以管理员身份运行安装(或以管理员身份打开命令提示符)并从那里运行安装。此外,您可能需要检查用户帐户控制设置,如果限制太严格,请降低滑块。