gpt4 book ai didi

Wix:系统找不到文件 'SourceDir'

转载 作者:行者123 更新时间:2023-12-04 16:03:17 24 4
gpt4 key购买 nike

我该死地使用 wix 和 wixtoolset 3.11 build设置。是的,它的 hell 。使用此工具集做简单的事情并阅读手册会消耗大量时间和金钱。

我的目标:安装程序应该下载并安装 .NET Framework 4.5。这是声明:

<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
xmlns:util="http://schemas.microsoft.com/wix/UtilExtension"
xmlns:netfx="http://schemas.microsoft.com/wix/NetFxExtension">
<?include ApplicationData.wxi?>
<Fragment>
<WixVariable Id="NetFx45WebInstallCondition" Value="" Overridable="yes" />

<!-- install dotnet framework -->
<!-- https://stackoverflow.com/questions/42720958/web-download-of-vcruntime140-with-wix-burn/42726779 -->
<PackageGroup Id="NetFx45Web">
<ExePackage
InstallCommand="/q /norestart /ChainingPackage &quot;[WixBundleName]&quot; /log &quot;[NetFx45FullLog].html&quot;"
RepairCommand="/q /norestart /repair /ChainingPackage &quot;[WixBundleName]&quot; /log &quot;[NetFx45FullLog].html&quot;"
UninstallCommand="/uninstall /q /norestart /ChainingPackage &quot;[WixBundleName]&quot; /log &quot;[NetFx45FullLog].html&quot;"
PerMachine="yes"
Id="NetFx45Web"
Cache="yes"
Permanent="yes"
Vital="yes"
Protocol="netfx4"
DownloadUrl="https://www.microsoft.com/de-ch/download/confirmation.aspx?id=30653"
DetectCondition="false"
Compressed="no"
InstallCondition="!(wix.NetFx45WebInstallCondition)"
Name="Framework\dotNetFx45_Full_setup.exe"
/>
</PackageGroup>
</Fragment>
</Wix>

我不想将任何 .NET Framework 安装程序嵌入到我的设置中,但无论出于何种原因,都需要属性“Name”或“SourcePath”之一。我使用属性“SourcePath”或“Name”,两个声明都需要一个现有文件的路径。是的,当然,这是真的。那是维克斯。

当我对路径使用“SourceFile”时,Visual Studio 中的编译器运行成功,但在未安装 DotNet Framework 4.5 的目标系统上,没有任何 react 。不会安装任何框架。好的,然后我尝试使用属性“名称”并传递值“Framework\dotNetFx45_Full_setup.exe”。编译安装程序时,出现以下错误:

系统找不到文件“SourceDir\Framework\dotNetFx45_Full_setup.exe”

嗯...... SourceDir到底是什么,为什么我需要delcare路径或者我想要安装程序下载文件?很多问题,但让我们从第一个开始:

如何解决有关神秘的“SourceDir”的问题?

最佳答案

您应该用 PackageGroupRef 元素替换 PackageGroup 元素。

http://wixtoolset.org/documentation/manual/v3/xsd/wix/packagegroupref.html

您将需要添加对 NetFxExtension ( WixNetFxExtension.dll ) 的引用,因为该扩展在构建时提供此定义。您可以在 Visual Studio/Votive 中通过添加对项目的引用或将其添加到您的 light.exe 调用来执行此操作。看:

http://wixtoolset.org/documentation/manual/v3/customactions/wixnetfxextension.html

<?xml version="1.0" encoding="utf-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi" xmlns:bal="http://schemas.microsoft.com/wix/BalExtension" xmlns:netfx="http://schemas.microsoft.com/wix/NetFxExtension">
<Bundle Name="ProductName1" Version="1.0.0.0" Manufacturer="ProductName1" UpgradeCode="f6ac65f9-56ca-496c-b04c-b68b37967298">
<BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.RtfLicense">
<bal:WixStandardBootstrapperApplication LicenseFile="Resources\EULA.rtf" LogoFile="Resources\Icon.png" />
</BootstrapperApplicationRef>
<Chain>
<PackageGroupRef Id="NetFx45Web"/>
<MsiPackage Id="ProductName1" SourceFile="$(var.ProductName1Setup.TargetPath)" />
</Chain>
</Bundle>
</Wix>

关于Wix:系统找不到文件 'SourceDir',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49922702/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com