0

我向我的 WiX 项目添加了一个项目引用,一切似乎都在工作,直到我去检查已安装的文件。

他们不再有他们的扩展!因此无法使用为该扩展注册的任何应用程序自动打开。

以下是相关代码:

<Directory Id="TARGETDIR" Name="SourceDir">
    <Directory Id="ProgramFilesFolder">
        <Directory Id="INSTALLDIR" Name="My WiX Test">
            <Component Id="ExeCom" Guid="PUT-GUID-HERE" Directory="INSTALLDIR">
                <File Id="ExeFile" Name="ExeFile" Source="$(var.MyForm.TargetPath)" KeyPath="yes"/>
            </Component>
            <Component Id="TxtCom" Guid="PUT-GUID-HERE" Directory="INSTALLDIR">
                <File Id="TxtFile" Name="TxtFile" Source="sometextfile.txt" KeyPath="yes"/>
            </Component>
        </Directory>
    </Directory>
</Directory>

<Feature Id="Complete" Title="Complete" Level="1">
    <ComponentRef Id="ExeCom"/>
    <ComponentRef Id="TxtCom"/>
</Feature>

安装后,我进入安装文件夹(Program Files\My WiX Test)并希望单击 exe 文件来启动应用程序。但是文件夹中的所有文件都没有扩展名。我必须手动重命名文件以添加 .exe 或 .txt,或者通过打开方式对话框。

有没有办法强制 WiX 添加扩展,或者我做错了什么?

4

1 回答 1

2

正如评论中已经说明的那样,最简单的(对于我们项目中的许多 .wxs 文件来查找我们使用自动检测的小地方)是在name=属性中指定扩展名。

经过一番努力,我们采用了我们甚至将 id 命名为扩展名的方式,这样就不必从构建中查找哪个 ID 属于哪个名称和哪个文件。

例子:

<Component Id="ImplantCopyRight">
<File Id="Copyright.txt" Name="Copyright.txt" 
Source="$(var.SourceRoot)/08-Impl/img/license/Implants/Copyright.txt" />
于 2013-02-07T13:31:12.223 回答