我的应用程序的一部分需要读取一个配置文件,该文件与应用程序的exe放在同一目录中。我的问题是WiX创建的快捷方式找不到该文件。
我可以在安装后创建快捷方式,并且它们可以正常工作,但是我宁愿解决此问题,而不要这样做。
这是我的组件的样子:
<Component Id="MyApp.exe" Guid="G-U-I-D">
<File Id="MyApp.exe" Name="MyApp.exe" Source="$(var.MyApp_TargetDir)MyApp.exe">
<Shortcut Id="DesktopShortcut" Directory="DesktopFolder" Name="My Application" Icon="Icon.ico" Advertise="yes" />
<Shortcut Id="StartMenuShortcut" Directory="ProgramMenuFolder" Name="My App" Icon="Icon.ico" Advertise="yes" />
</File>
</Component>
答案 0 :(得分:0)
更新:如果我正确理解您的评论,我想知道您是否只是不设置快捷方式的 WorkingDirectory
属性?
WiX标记示例 :
<Directory Id="MyDir" Name="My Dir">
<Component Id="My.exe" Feature="Main">
<File Source="My.exe">
<Shortcut Id="DesktopShortcut"
Directory="DesktopFolder"
Name="My Product"
Advertise="yes"
WorkingDirectory="MyDir">
</Shortcut>
</File>
</Component>
</Directory>
快捷方式属性 :
如果这是您要写入的设置文件,则应将其放在用户个人资料中,以便启动用户可以对其进行写操作。您的application.exe
文件应该能够找到配置文件,而不管它位于应用程序安装文件夹还是用户配置文件中?
C#原型 (应使用 Path.Combine
,但这仅是为了说明):
string filepath = Environment.GetFolderPath(Environment.SpecialFolder.UserProfile) + @"\MyFolder\MyFile.xml";
是否特别需要在快捷方式中指定文件路径?
某些链接 :