WiX删除文件扩展名

时间:2013-02-07 13:17:29

标签: wix wix3

我添加了一个项目引用到我的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添加扩展名,或者我做错了什么?

1 个答案:

答案 0 :(得分: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" />