【问题标题】:is it possible to automatically download Prerequisites using wix bootstrapper是否可以使用 wix bootstrapper 自动下载先决条件
【发布时间】:2014-05-28 11:08:01
【问题描述】:

我已经使用 wix 创建了一个设置,甚至还创建了自定义对话框。现在我需要 mySetup 来自动下载我的应用程序的先决条件。似乎只能通过引导程序完成。我什至也创建了一个引导程序文件,但是我不想在引导程序中附加 Prerequisites setup (ie) .exe 文件来安装 Prerequisites 。相反,我需要 直接从 Web 下载并需要自动安装当我的设置运行时。

wix 可以吗?我是 wix 新手,如果可能的话,请分享一些来源??

提前致谢

【问题讨论】:

    标签: wix installation wix3.7 bootstrapper prerequisites


    【解决方案1】:

    只需使用 SourceFile 即可避免任何不便。

    <ExePackage 
                  Id="InstallJava"
                  DetectCondition='NOT Installed AND JAVACURRENTVERSION>="1.6"'
                  InstallCondition='NOT VersionNT64'
                  SourceFile="..\dep\jre-7u55-windows-i586.exe"  
                  InstallCommand='/s'
                  Compressed="no"
                  Permanent="yes"
                  PerMachine="yes"
                  Vital="no"
                  DownloadUrl="http://javadl.sun.com/webapps/download/AutoDL?BundleId=86895"
                  />
    

    下载 prereq.exe 并使用 SourceFile 属性来引用它。 WiX会自动计算Hashcode等

    但如果您更倾向于使用 RemotePayLoad,请使用 heat.exe 来收集这些数据。

    <wix-folder>/bin/heat payload d:\prereq.exe -out d:\remote.xml
    

    【讨论】:

    • 自动下载的文件会在哪个位置?
    • 你能告诉我锄头用热吗
    • @user3611781 下载您想要获取的包(如 prereq.exe)。然后使用我在回答中提到的命令。您可以在 WIX 安装文件夹 C:\Program Files (x86)\WiX Toolset v3.7 下找到 heat.exe。在文本编辑器中打开 remote.xml 以获取 RemotePayload 信息。
    • @user3611781 WIX 将自动下载并安装先决条件。您不必关心下载位置。您可以使用 InstallCommand 来传递其他参数。
    【解决方案2】:

    EXEPACKAGE - 您可以使用 DownloadUrl 属性。

    DownloadUrl - 用于下载包的 URL。以下 支持替换:{0} 被包 ID 替换。 {1} 是 替换为有效负载 ID。 {2} 被负载文件名替换。

    RemotePayload - 描述有关远程文件有效负载的信息 在构建捆绑包时不可用。父母 使用时必须指定DownloadUrl,不能指定SourceFile 这个元素。

    例如:

    <PackageGroup 
                Id="Netfx4Full">
                <ExePackage 
                    Id="Netfx4Full" 
                    Cache="no" 
                    Compressed="no" 
                    PerMachine="yes" 
                    Permanent="yes" 
                    Vital="yes"
                    DownloadUrl="http://go.microsoft.com/fwlink/?LinkId=164193/dotNetFx40_Full_x86_x64.exe" >
    
                 <RemotePayload
                   ProductName="dotNetFx40_Full_x86_x64.exe" 
                    Description="Dotnet 4.0"
                    Size="3961856" 
                    Version="4.0.5022.0" />
                 </ExePackage>
            </PackageGroup>
    

    【讨论】:

    • 似乎在这里我们还需要在我们的解决方案中添加源文件(即)所需的 .exe 文件。??
    • 如果系统中已经安装了所需的设置意味着会发生什么。? @以赛亚4110
    • 在 ExePackage 元素中添加 InstallCondition 属性。
    • 我真的是 wix 新手?你能指导我吗?
    • 所需的设置显然会创建一些注册表项,对吗?在安装条件中检查这些注册表项。如果它存在,则不需要安装,否则您需要。我正在尽我所能地指导你,我认为你有足够的信息来解决这个问题。
    猜你喜欢
    • 1970-01-01
    • 2013-02-10
    • 2011-02-02
    • 1970-01-01
    • 2019-09-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多