Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
WiX删除文件扩展名_Wix_Wix3 - Fatal编程技术网

WiX删除文件扩展名

WiX删除文件扩展名,wix,wix3,Wix,Wix3,我在我的WiX项目中添加了一个项目引用,在我检查安装的文件之前,一切似乎都正常工作 他们不再有分机了!因此,无法使用为该扩展注册的任何应用程序自动打开 以下是相关代码: <Directory Id="TARGETDIR" Name="SourceDir"> <Directory Id="ProgramFilesFolder"> <Directory Id="INSTALLDIR" Name="My WiX Test">

我在我的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添加扩展名,或者我做错了什么?

正如在评论中所述,最简单的方法(对于我们项目中的许多.wxs文件来说,找到我们使用自动检测的小位置)是在
name=
属性中指定扩展名

经过一番挣扎之后,我们采用了这样一种风格:我们甚至可以按照扩展名的方式命名id,而不必从构建中查找哪个id属于哪个名称以及哪个文件

例如:

<Component Id="ImplantCopyRight">
<File Id="Copyright.txt" Name="Copyright.txt" 
Source="$(var.SourceRoot)/08-Impl/img/license/Implants/Copyright.txt" />


这让我咯咯地笑了,试一试,比如
Name=“TxtFile.txt”
@Najzero,真的吗?就这样?我现在觉得自己很愚蠢。如果你把这个作为回答,我会接受的。谢谢。如果源文件的名称是所需的名称,您也可以省略Name属性。@BryanJ,这非常有用,因为我不知道,而且大多数文件都保留其文件名。