WiX快捷方式未检测到应用程序目录中的文件

时间:2018-09-24 15:23:56

标签: wix windows-installer

我的应用程序的一部分需要读取一个配置文件,该文件与应用程序的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>

1 个答案:

答案 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>

快捷方式属性

Shortcut Properties


如果这是您要写入的设置文件,则应将其放在用户个人资料中,以便启动用户可以对其进行写操作。您的application.exe文件应该能够找到配置文件,而不管它位于应用程序安装文件夹还是用户配置文件中?

C#原型 (应使用 Path.Combine ,但这仅是为了说明):

string filepath = Environment.GetFolderPath(Environment.SpecialFolder.UserProfile) + @"\MyFolder\MyFile.xml";

是否特别需要在快捷方式中指定文件路径?


某些链接