标签: burn

写入运行键值失败

我想构建一个(而且只有一个)install.exe可以安装 32 位 - 64 位操作系统、检测 .NET 并预安装它。

\n\n

我尝试使用burn,但失败了,即使是最简单的引导程序也无法工作!

\n\n

我用的是bootstrapper,在VS2010中自动生成,并且只改了一处代码:

\n\n
<MsiPackage SourceFile="D:\\WiX\\SetupProject\\TestBurn\\TestBurn\\PlanManagerPackage.msi" />\n
Run Code Online (Sandbox Code Playgroud)\n\n

我的 PlanManagerPackage.msi 确实有效。我的操作系统是 \xe2\x80\x9cWindows v6.1 (Build 7600: Service Pack 0)\xe2\x80\x9d,并且我以管理员权限运行 install.exe。

\n\n

这是错误日志:

\n\n
e000: Error 0x80070005: Failed to write run key value.\ne000: Error 0x80070005: Failed to update resume mode.\ne000: Error 0x80070005: Failed to begin registration session.\ne000: Error 0x80070005: Failed to begin registration session in per-machine process.\ne000: Error 0x80070005: Failed to register bundle.\n
Run Code Online (Sandbox Code Playgroud)\n\n

这是一个错误吗?如果是的话,有什么方法可以帮助我吗?如果没有,我该如何解决?

\n

wix burn

4
推荐指数
1
解决办法
9952
查看次数

如何禁用 WiX 工具集上的修复和选项按钮

关于这个问题有很多问题,但都没有解释这两行到底应该放在哪里:

<Property Id="ARPNOREPAIR" Value="yes" Secure="yes" /> 
<Property Id="ARPNOMODIFY" Value="yes" Secure="yes" />
Run Code Online (Sandbox Code Playgroud)

尝试在线搜索文档本身,但没有运气

编辑

我尝试将它们放入我的标签中,但它仍然存在:

在此输入图像描述

wix burn

4
推荐指数
1
解决办法
4089
查看次数

使用WiX Burn选择要安装/修改/卸载的.msi

我在看这里提出的解决方案:

WiX Burn - 确定已安装的项目

但我不知道这对于"修改"刻录屏幕(当有人决定删除某个.msi时)是如何工作的.

在卸载/修改页面显示时查看Burn .log(我调用了我的变量来描述是否选中了复选框,'Checkbox1'到'Checkbox6'):

[171C:1034][2013-04-23T11:49:24]i000: Initializing numeric variable 'Checkbox1' to value '1'
[171C:1034][2013-04-23T11:49:24]i000: Initializing numeric variable 'Checkbox2' to value '1'
[171C:1034][2013-04-23T11:49:24]i000: Initializing numeric variable 'Checkbox3' to value '1'
[171C:1034][2013-04-23T11:49:24]i000: Initializing numeric variable 'Checkbox4' to value '1'
[171C:1034][2013-04-23T11:49:24]i000: Initializing numeric variable 'Checkbox5' to value '1'
[171C:1034][2013-04-23T11:49:24]i000: Initializing numeric variable 'Checkbox6' to value '1'
Run Code Online (Sandbox Code Playgroud)

(等等.)

[171C:1034][2013-04-23T11:49:24]i100: Detect begin, 3 packages
[171C:1034][2013-04-23T11:49:24]i000: Setting string variable 'NETFRAMEWORK40' to value '1'
[171C:1034][2013-04-23T11:49:24]i052: Condition 'NETFRAMEWORK40' evaluates to true.
[171C:1034][2013-04-23T11:49:24]i101: Detected package: NetFx40Redist, …
Run Code Online (Sandbox Code Playgroud)

installation wix burn

3
推荐指数
1
解决办法
3931
查看次数

'烧'和使用WiX的自定义MBA - 在NetFx45Web软件包上修复失败

我编写了一个自定义托管引导程序应用程序(MBA)并获得了大部分功能,除了修复.检查捆绑日志提供:

[335C:3440][2013-04-29T13:51:41]w343: Prompt for source of package:
NetFx45Web, payload: NetFx45Web, path:
D:\dev\Setup\redist\dotNetFx45_Full_setup.exe
[335C:3440][2013-04-29T13:51:41]e054: Failed to resolve source for file:
D:\dev\Setup\redist\dotNetFx45_Full_setup.exe, error: 0x80070002.
[335C:3440][2013-04-29T13:51:41]e000: Error 0x80070002: Failed while
prompting for source (original path
'D:\dev\Setup\redist\dotNetFx45_Full_setup.exe').
[335C:3440][2013-04-29T13:51:41]e313: Failed to acquire payload: NetFx45Web
to working path:
C:\Users\admin\AppData\Local\Temp\{ab28ebc1-ce07-49bf-bb1f-bb83a4944aeb}\NetFx45Web,
error: 0x80070002.
[335C:164C][2013-04-29T13:51:41]e000: Error 0x80070002: Failed while
caching, aborting execution.
[335C:164C][2013-04-29T13:51:41]i399: Apply complete, result: 0x80070002,
restart: None, ba requested restart:  No
[335C:164C][2013-04-29T13:51:43]i500: Shutting down, exit code: 0x80070002
[335C:164C][2013-04-29T13:51:43]i410: Variable: ArpSystemComponentCustom = 1
[335C:164C][2013-04-29T13:51:43]i410: Variable: NETFRAMEWORK45 …
Run Code Online (Sandbox Code Playgroud)

windows-installer wix bootstrapper burn

3
推荐指数
1
解决办法
1506
查看次数

如何制作升级产品"Lite"版本的WiX刻录软件包

我有两个我的产品SKU.两者都使用Burn作为引导程序.我以这样的方式创作了MSI,Pro版本将升级并替换Lite版本.但是一旦我将它们包装在刻录中,Pro版本就可以正确升级MSI,但Lite安装条目仍然在ARP列表中.它们都是相同的版本号,我已设置:

<RelatedBundle Id="LITE_UPGRADE_CODE" Action="Upgrade"/>
Run Code Online (Sandbox Code Playgroud)

在Pro捆绑中.

有没有办法删除Lite条目?

wix burn wix3.7

3
推荐指数
1
解决办法
1192
查看次数

让WiX/Burn检测所需的.NET Framework版本

如何让Burn检测到安装了所需的.NET 4.5框架,如果在启动我的自定义UI之前没有通知用户安装需要运行.NET 4.5?

如果没有先决条件检查,我的自定义UI(BootStrapperApplication)将无法加载.

我不想只安装它丢失的提示.

wix burn

3
推荐指数
1
解决办法
2184
查看次数

WIX Bundle Installer,选择要安装的软件包

我有5个安装程序,可能需要安装在同一台机器上,其他地方.每个用户都有自己的用户输入自定义UI,为已安装的应用程序设置配置选项.

我需要用户能够从完整安装程序中选择要运行的安装程序.类似于您在标准安装程序中选择功能的方式.但是,如果用户更喜欢只抓取所需的msi,我仍然需要将它们作为单独的安装程序.

有没有办法像引导其他wix项目类型一样向引导程序安装程序添加自定义ui步骤?

wix burn

3
推荐指数
1
解决办法
2057
查看次数

Wix:托管BA命令行无效

在玩Bryan的TestBA Bootstrapper时,我首先安装了1.0.0.0.然后我将版本增加到1.0.0.1并记录该过程.以下是升级期间传递-uninstall -quite命令行的部分:

[2870:21C0][2014-02-24T17:46:38]i300: Apply begin 
[1A44:1E54][2014-02-24T17:46:41]i360: Creating a system restore point. 
[1A44:1E54][2014-02-24T17:47:15]i361: Created a system restore point. 
[1A44:1E54][2014-02-24T17:47:15]i000: Caching bundle from: 'C:\Users\fwaheed\AppData\Local\Temp\{57a07296-0310-4628-971c-2da38aa09f25}\.be\BootstrapperSetup.exe' to: 'C:\ProgramData\Package Cache\{57a07296-0310-4628-971c-2da38aa09f25}\BootstrapperSetup.exe' 
[1A44:1E54][2014-02-24T17:47:15]i320: Registering bundle dependency provider: {57a07296-0310-4628-971c-2da38aa09f25}, version: 1.0.0.1 
[1A44:2B40][2014-02-24T17:47:16]i305: Verified acquired payload: DummyInstallationPackageId at path: C:\ProgramData\Package Cache\.unverified\DummyInstallationPackageId, moving to: C:\ProgramData\Package Cache\{F1D62AA5-E68C-4B99-A6DD-D7EAE5A1D238}v1.0.0.1\DummyInstaller.msi. 
[1A44:1E54][2014-02-24T17:47:16]i323: Registering package dependency provider: {F1D62AA5-E68C-4B99-A6DD-D7EAE5A1D238}, version: 1.0.0.1, package: DummyInstallationPackageId 
[1A44:1E54][2014-02-24T17:47:16]i301: Applying execute package: DummyInstallationPackageId, action: Install, path: C:\ProgramData\Package Cache\{F1D62AA5-E68C-4B99-A6DD-D7EAE5A1D238}v1.0.0.1\DummyInstaller.msi, arguments: ' ARPSYSTEMCOMPONENT="1" MSIFASTINSTALL="7"' 
[2870:21C0][2014-02-24T17:47:22]i319: Applied execute package: DummyInstallationPackageId, result: 0x0, …
Run Code Online (Sandbox Code Playgroud)

c# wix bootstrapper burn

3
推荐指数
1
解决办法
1983
查看次数

WiX Burn:从Registry中读取LaunchTarget

我是WiX的新手,我正在尝试让我的Bootstrapper在完成时启动我安装的应用程序.要做到这一点,我正在使用

<Variable Name="LaunchTarget" Value="path_to_exe"/>
Run Code Online (Sandbox Code Playgroud)

但是,我不容易获得可执行文件的路径.这是因为我使用<Chain>来安装一些先决条件,然后是一个实际安装我的exe的msi.

所以要做到这一点,msi正在写入注册表中已知位置的路径,然后引导程序读取并使用它.

问题是当引导程序读取注册表时,msi尚未运行,因此无法在最后运行可执行文件.

这是我的WiX,如果它有帮助:

<?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:util="http://schemas.microsoft.com/wix/UtilExtension">
    <Bundle Name="My Installation" UpgradeCode="a8964402-f3fc-4878-aafd-31ecda6b685e" Version="1.0.0.0">
        <BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.RtfLicense">
            <bal:WixStandardBootstrapperApplication LicenseFile="EULA.rtf"
                                                    ThemeFile="theme.xml"
                                                    SuppressOptionsUI="yes" />
        </BootstrapperApplicationRef>
        <Chain>
            <PackageGroupRef Id="NetFx40Redist"/>
            <ExePackage Id="OpenSSL" SourceFile="pre-requesite.exe" />
            <MsiPackage Id="myInstall" SourceFile="mySetup.msi" />
        </Chain>
        <util:RegistrySearch Root="HKLM"
                             Key="Software\myProgram"
                             Value="myEXEPath"
                             Variable="myEXEPath"
                             Result="value"
                             Format="raw" />
        <Variable Name="LaunchTarget" Value="[myEXEPath]"/>
    </Bundle>
</Wix>
Run Code Online (Sandbox Code Playgroud)

所以,简而言之,我想在MsiPackage安装之后运行RegistrySearch .可以这样做吗?如果没有,我有什么替代品?

我注意到,如果我在安装之前手动填写注册表值,一切正常.这意味着除了订单运行之外,一切都运行良好.

wix burn

3
推荐指数
1
解决办法
1036
查看次数

检测vcredist的存在 - 使用UpgradeCode

wix burn bootstrapper bundle中:如何检测ms vcredist 2013 x86是否存在?
我正在检查特定包的Upgrade Id/ UpgradeCode,但是包总是重新安装它,即使它已经安装了.

...
<Bundle>
    ...
    <Chain>
        <!-- redist packages -->
        <PackageGroupRef Id="redist"/>
        ...
    </Chain>
</Bundle>

<Fragment>
    <PackageGroup Id="redist">
        <PackageGroupRef Id="redist_vc120" />
        ...
    </PackageGroup>
</Fragment>

<Fragment>
    <!-- vcredist 2013 x86 -->
    <?define vcredist2013minversion="12.0.21005"?>
    <Upgrade Id="B59F5BF1-67C8-3802-8E59-2CE551A39FC5">
        <UpgradeVersion Minimum="$(var.vcredist2013minversion)" Property="VCREDIST2013INSTALLED" OnlyDetect="yes" IncludeMinimum="yes" />
    </Upgrade>

    <PackageGroup Id="redist_vc120">
        <ExePackage Id="vc120" Cache="yes" PerMachine="yes" Permanent="yes" Vital="yes" Compressed="yes"
            Name="redist\VC120_Runtime\vcredist_x86.exe"
            InstallCommand="/quiet /norestart"
            InstallCondition="Not VCREDIST2013INSTALLED"
        />
    </PackageGroup>
</Fragment>
...
Run Code Online (Sandbox Code Playgroud)

这有什么不对InstallCondition吗?
还是我需要添加一个DetectCondition? …

windows-installer wix burn vcredist

3
推荐指数
1
解决办法
2974
查看次数

标签 统计

burn ×10

wix ×10

bootstrapper ×2

windows-installer ×2

c# ×1

installation ×1

vcredist ×1

wix3.7 ×1