系统找不到我的源文件-WiX

时间:2019-01-15 13:15:38

标签: wix

我已经查看了关于SO的几个示例,但是我无法找出解决问题的方法。我正在尝试在MSI中指定源文件。这是我到目前为止的代码段。

<Directory Id="TARGETDIR" Name="SourceDir">
  <Component Id ="FileAssociation" Guid="*">
    <File Id="myapp.exe" Source="myapp.exe" />
  </Component>
</Directory>

我知道SourceDir是必需的,但我不知道如何配置它。我正在手工编写此代码,但对WiX还是很陌生。目标是制作Java代码安装程序。 setupBuilder允许我构建WiX安装程序,但必须定义.wsx配置以获得其他功能。最终目标是将自定义文件类型与我的应用程序相关联,但我什至无法在MSI中找到可执行文件。

到目前为止,我得到的错误是 error LGHT0103 : The system cannot find the file 'wblite_debug.exe'

我猜我需要指定SourceDir指向具有MSI安装程序的目录?我在正确的轨道上吗?

3 个答案:

答案 0 :(得分:0)

<File>元素中,Source属性指定在哪里找到文件。

<File Id="wblite_debug.exe" Source="[path_to_file]\wblite_debug.exe" />

答案 1 :(得分:0)

由于与SetupBuilder合并存在一些问题,因此我似乎需要做一些技巧。这是我提供给SetupBuilder的wxs文件,用于获取我要查找的文件关联。

<?xml version="1.0" encoding="utf-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
  <Product>
    <Component Id="FileAssociation" Directory="INSTALLDIR" Guid="*">
    <CreateFolder/>
    <ProgId Id ="file.file" Description="My File">
      <Extension Id ="file" ContentType="application/file">
        <Verb Id ="open" Command="open" TargetFile="_myapp.exe" Argument='"%1"'/>
        <MIME ContentType="application/file" Default="yes" />
      </Extension>
    </ProgId>
  </Component>
  <DirectoryRef Id="INSTALLDIR">
    <Component Guid="*" Id="_Comp">
      <CreateFolder/>
      <File Id="_myapp.exe" Name="myapp.exe" Source="loc\myapp.exe"/>
    </Component>
  </DirectoryRef>
  <Feature Id="MainApplication">
    <ComponentRef Id="FileAssociation"/>
  </Feature>      
</Product>

答案 2 :(得分:0)

查看您的WiX代码,我发现您在MSI目标和源文件夹路径之间感到困惑。 Directory标记是在运行MSI的机器上(要部署应用程序的位置)创建一个文件夹-与打包文件的源文件夹无关。

将文件路径替换为:

<File Id="wblite_debug.exe" Source= "\TESTfolder\wblite_debug.exe" KeyPath="yes"/>

如您所见,文件->源属性路径应参考WXS文件路径编写。