我使用VS2012创建了一个简单的Windows窗体应用程序,我正在尝试将其安装到XP机器上.
不幸的是我收到以下错误消息:
setup.exe不是有效的Win32应用程序.
不可否认,我确实使用了.net 4.5框架,这是XP机器上的一个问题.但我现在使用.net 2.0创建了一个测试应用程序,并得到了同样的问题.
我正在开发一个Win7的X64机器上的应用程序,并试图平台任何喜悦设置为86在配置管理器.
这是我还是VS 2012?我已经设法使用VS2010安装测试应用程序?
当我尝试使用VS2012处理Lightswitch应用程序并放弃它时,我遇到了类似的问题.
有什么建议?
干杯,麻木
如果WixVariables WixMbaPrereqPackageId
和WixMbaPrereqLicenseUrl
未添加,它无法编译.
Windows Installer XML变量
!(wix.WixMbaPrereqPackageId)
未知.
Windows Installer XML变量!(wix.WixMbaPrereqLicenseUrl)
未知.
如果添加了两个变量,即使我的测试计算机安装了.NET Framework 4.0,引导程序也会每次都安装.NET Framework 4.0.
当目标计算机已经具有.NET框架时,如何避免安装.NET Framework?
以下是我的示例代码.
<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi" xmlns:util="http://schemas.microsoft.com/wix/UtilExtension">
<Bundle Name="TestBootstrapper" Version="1.0.0.0" Manufacturer="Microsoft" UpgradeCode="e8c02687-b5fe-4842-bcc4-286c2800b556">
<BootstrapperApplicationRef Id='ManagedBootstrapperApplicationHost'>
<Payload SourceFile='MyBA.dll' />
</BootstrapperApplicationRef>
<!--<BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.RtfLicense" />-->
<Chain>
<PackageGroupRef
Id="Netfx4Full"/>
<MsiPackage Name="SetupProject1.msi" SourceFile="data\SetupProject1.msi" DownloadUrl="http://myserver/SetupProject1.msi" Compressed="no">
</MsiPackage>
<MsiPackage Name="SetupProject2.msi" SourceFile="data\SetupProject2.msi" DownloadUrl="http://myserver/SetupProject2.msi" Compressed="no">
</MsiPackage>
</Chain>
</Bundle>
<Fragment>
<WixVariable
Id="WixMbaPrereqPackageId"
Value="Netfx4Full" />
<WixVariable
Id="WixMbaPrereqLicenseUrl"
Value="NetfxLicense.rtf" />
<util:RegistrySearch
Root="HKLM"
Key="SOFTWARE\Microsoft\Net Framework Setup\NDP\v4\Full"
Value="Version"
Variable="Netfx4FullVersion" />
<util:RegistrySearch
Root="HKLM"
Key="SOFTWARE\Microsoft\Net …
Run Code Online (Sandbox Code Playgroud) 我相信这个问题可能在我之前被问过,但不知何故,我找不到合适的答案.
我可能必须编写自己的托管引导程序.但是直到现在,在我得到的示例中,引导程序也在自行安装并出现在Add-Remove程序中而不是我的产品中.
问题:我们可以让bootstrapper只安装我们的产品和必备的应用程序而不是自行安装吗?
问候
我正在尝试在wix bootstrapper程序中调用一个msi。它在安装时可以正常工作。并且所选功能已正确安装。但是在安装后,我试图修改已安装的功能。在控制面板中有更改按钮。但是当我单击它时,它显示一个带有修复,卸载,取消按钮的对话框。没有用于修改安装程序功能的修改按钮。
请指定解决方案(如果有)。
Bootstrappertheme.wxl中的代码是
<!-- Modify dialog -->
<String Id="ModifyHeader">Modify Setup</String>
<String Id="ModifyNotice">[WixBundleName] is already installed on this machine. If it's not working correctly, you may repair it. You may also uninstall it.</String>
<String Id="ModifyRepairButton">&Repair</String>
<String Id="ModifyUninstallButton">&Uninstall</String>
<String Id="ModifyCloseButton">&Cancel</String>
Run Code Online (Sandbox Code Playgroud) 我一直在寻找让我的引导程序与安装.NET 4.0和我自己的应用程序一起工作.我查看了几个博客和教程,但我无法让它工作.
我读了Stack Overflow问题在WiX中启动/调用bootstrapper,你需要在bootstrapper中调用它们.我的引导程序只调用.NET 4.0安装程序.这是应该调用这两个部分的部分:
<Chain>
<PackageGroupRef Id="NetFx40Redist" />
<MsiPackage SourceFile="C:\my app.msi" Cache="yes" Visible="no" After="NetFx40Redist"></MsiPackage>
</Chain>
Run Code Online (Sandbox Code Playgroud)
它只调用packagegroupref.安装.NET 4.0程序包时,会出错.它可能是简单而小巧的东西,但我找不到它.
我正在尝试创建一个安装我的 msi 的 Wix burn 引导程序。引导程序 exe 工作正常,但唯一的问题是,每当我尝试中途取消安装时,msi 中添加的自定义操作都不会停止。任何人都可以告诉如何在单击取消按钮时停止并回滚安装。提前致谢。
我创建了一个 MSI 文件来使用 WiX 3.7 安装我的程序之一。我创建了一个文件,其中包含显示在控制面板 -> 程序和功能中的公司信息,如下所示:
<?xml version="1.0" encoding="utf-8"?>
<Include>
<Property Id="ARPCOMMENTS" Value="My Service" />
<Property Id="ARPCONTACT" Value="My Company, LLC" />
<Property Id="ARPPRODUCTICON" Value="DC.ico" />
<Property Id="ARPHELPLINK" Value="http://www.mycompany.com" />
<Property Id="ARPREADME" Value=" " />
<Property Id="ARPURLINFOABOUT" Value="http://www.mycompany.com" />
<Property Id="ARPURLUPDATEINFO" Value=" " />
<Property Id="ARPHELPTELEPHONE" Value="888 888 8888" />
<Property Id="ARPAUTHORIZEDCDFPREFIX" Value=" " />
<Icon Id="DC.ico" SourceFile="Resources\DC.ico" />
</Include>
Run Code Online (Sandbox Code Playgroud)
我现在必须使用 Burn 创建一个引导程序,以包含 Crystal Reports 和 C++ 2005 Redist。在控制面板 -> 程序和功能中,不显示来自 MSI(上面的属性项目)的信息。我现在只有一些非常通用的信息。有没有办法将上述信息包含在刻录文件中,使其显示在控制面板 -> 程序和功能中?
在 WiX Burn 引导程序中安装某些软件包时,安装会在通过趋势科技防毒墙网络版单击安装后不久被中断。它将其检测为潜在的病毒/恶意软件,因为它正在尝试写入注册表位置,例如:HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce{*GUID*}
安装使用使用 WiX 3.6 构建的自定义引导程序应用程序,并且在它突然出现为病毒之前已经在我们的办公室工作了几个月。我咨询了 IT 负责人,最近没有对 AV 设置进行任何更改。
经过一番搜索,我发现其他人过去曾遇到过这个问题,但大多数是在一年多以前。当时普遍的共识是将误报告知 AV 公司,我认为这是因为过去一年没有问题而奏效。还有一些建议可以确保引导程序应用程序和 setup.exe 已签名,我也尝试过但没有效果。
环境
在 Visual Studio 2012/Visual Studio 2013 中使用 Bootstrapper 项目
Windows 7 企业版 SP1
维克斯工具集 3.8
细节
Setup.exe 从不运行
AppData/Local/Temp/[WixBundleName][DateTime].log 中的日志文件显示“错误 0x8007000d:无法加载主题控件”。
我需要允许用户更改安装位置。我已经尝试过这个问题中给出的解决方案
我需要将我的 wix msi 文件添加到我的引导程序项目中。下面是我的 msi 项目代码,
<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">
<ComponentRef Id="ProductComponent" />
</Feature>
</Product>
<Fragment>
<Directory Id="TARGETDIR" Name="SourceDir" src="[TARGETDIR]">
<Directory Id="INSTALLFOLDER" Name="SetupProject1">
<Component Id="ProductComponent" Guid="2ACAD378-270B-4B50-AAED-A234A6BB8276">
<File Name="$(var.WindowsFormsApplication2.TargetFileName)" Source="$(var.WindowsFormsApplication2.TargetPath)" />
</Component>
</Directory>
</Directory>
</Fragment>
<Fragment>
<ComponentGroup Id="ProductComponents" Directory="INSTALLFOLDER">
</ComponentGroup>
</Fragment>
Run Code Online (Sandbox Code Playgroud)
下面是引导程序代码,
<Variable Name="varInstallLocation" bal:Overridable="yes" />
<Chain>
<MsiPackage
Id="MyService"
Name="MyService"
SourceFile="..\SetupProject1\bin\Release\SetupProject1.msi"
DisplayInternalUI="yes"
EnableFeatureSelection="yes"
Compressed="yes"
Vital="yes" >
<MsiProperty Name="TARGETDIR" Value="[varInstallLocation]"/>
</MsiPackage>
</Chain> …
Run Code Online (Sandbox Code Playgroud)