Wix 将文件夹作为组件添加到安装程序中
Wix adding folder as component into installer
我试图将 vsto vsto 项目放入包含 3 个文件(exe、vsto 和包含应用程序文件的文件夹)的 wix 安装程序中
问题是我无法将文件夹放入安装程序,然后我将 .exe 和 .vsto 文件作为一个组件放入 wix 安装程序,一切正常,但后来我尝试放入文件夹,但出现错误:
"The Component/@Id attribute's value, 'Application Files', is not a legal identifier. Identifier's may contain ASCII characters A-Z, a-z, digits, underscores (_), or periods (.). Every identifier must begin with either a letter or an underscore. (CNDL0015)
这是我 product.wxs 的完整代码:
<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Product Id="*" Name="SetupProject1" Language="1033" Version="1.0.0.0" Manufacturer="test" UpgradeCode="dddf18f9-28e4-445c-92a1-734e5e774125">
<Package InstallerVersion="200" Compressed="yes" InstallScope="perMachine" />
<MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] is already installed." />
<MediaTemplate />
<Feature Id="ProductFeature" Title="SetupProject1" Level="1">
<ComponentGroupRef Id="ProductComponents" />
</Feature>
</Product>
<Fragment>
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="ProgramFilesFolder">
<Directory Id="INSTALLFOLDER" Name="SetupProject1" />
</Directory>
</Directory>
</Fragment>
<Fragment>
<ComponentGroup Id="ProductComponents" Directory="INSTALLFOLDER">
<Component Id="setup.exe">
<File Id="setup.exe" KeyPath="yes"
Name="setup.exe" Source="$(var.AddinFiles)"></File>
</Component>
<Component Id="Com.VistaDraft.Distribution.Mvp.vsto">
<File Id="Com.VistaDraft.Distribution.Mvp.vsto" KeyPath="yes"
Name="Com.VistaDraft.Distribution.Mvp.vsto" Source="$(var.AddinFiles)"></File>
</Component>
<Component Id="Application Files">
<File Id="Application Files" KeyPath="yes"
Name="Application Files" Source="$(var.AddinFiles)"></File>
</Component>
</ComponentGroup>
</Fragment>
</Wix>
也许请谁帮助将文件夹添加到 wix 安装程序中?
您提到的错误告诉您 Id 属性只能有 a-z、A-Z、数字、下划线和句点。您使用的 Id 属性中有一个 space。
我试图将 vsto vsto 项目放入包含 3 个文件(exe、vsto 和包含应用程序文件的文件夹)的 wix 安装程序中
问题是我无法将文件夹放入安装程序,然后我将 .exe 和 .vsto 文件作为一个组件放入 wix 安装程序,一切正常,但后来我尝试放入文件夹,但出现错误:
"The Component/@Id attribute's value, 'Application Files', is not a legal identifier. Identifier's may contain ASCII characters A-Z, a-z, digits, underscores (_), or periods (.). Every identifier must begin with either a letter or an underscore. (CNDL0015)
这是我 product.wxs 的完整代码:
<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Product Id="*" Name="SetupProject1" Language="1033" Version="1.0.0.0" Manufacturer="test" UpgradeCode="dddf18f9-28e4-445c-92a1-734e5e774125">
<Package InstallerVersion="200" Compressed="yes" InstallScope="perMachine" />
<MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] is already installed." />
<MediaTemplate />
<Feature Id="ProductFeature" Title="SetupProject1" Level="1">
<ComponentGroupRef Id="ProductComponents" />
</Feature>
</Product>
<Fragment>
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="ProgramFilesFolder">
<Directory Id="INSTALLFOLDER" Name="SetupProject1" />
</Directory>
</Directory>
</Fragment>
<Fragment>
<ComponentGroup Id="ProductComponents" Directory="INSTALLFOLDER">
<Component Id="setup.exe">
<File Id="setup.exe" KeyPath="yes"
Name="setup.exe" Source="$(var.AddinFiles)"></File>
</Component>
<Component Id="Com.VistaDraft.Distribution.Mvp.vsto">
<File Id="Com.VistaDraft.Distribution.Mvp.vsto" KeyPath="yes"
Name="Com.VistaDraft.Distribution.Mvp.vsto" Source="$(var.AddinFiles)"></File>
</Component>
<Component Id="Application Files">
<File Id="Application Files" KeyPath="yes"
Name="Application Files" Source="$(var.AddinFiles)"></File>
</Component>
</ComponentGroup>
</Fragment>
</Wix>
也许请谁帮助将文件夹添加到 wix 安装程序中?
您提到的错误告诉您 Id 属性只能有 a-z、A-Z、数字、下划线和句点。您使用的 Id 属性中有一个 space。