WiX Burn Bootstrapper的替代产品? (可以使用InstallShield LE引导程序吗?) [英] Alternatives to WiX Burn Bootstrapper? (Can the InstallShield LE bootstrapper be used?)

查看:133
本文介绍了WiX Burn Bootstrapper的替代产品? (可以使用InstallShield LE引导程序吗?)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我们曾经有一个 Visual Studio 2010 安装程序项目,但是我们需要安装情况变得更加复杂,而且随着2012年项目的消失,我们认为我们将开始学习 WiX / InstallShield LE

We used to have a Visual Studio 2010 based installer project, but our install situation got a lot more complicated, and with the projects going away anyway in 2012, we figured we'd start learning WiX / InstallShield LE.

InstallShield LE在它创建的满足我们需要的 MSI 文件中似乎太受限制了- -(例如,如果您检查Office 2007的先决条件,即使该错误表明您需要"Office 2007或更高版本",安装了Office 2010也会失败-您可以检查其中一个,但可以创建OR条件-还有很多仅仅是冰山一角). -另一方面,它创建的引导程序超级棒!

InstallShield LE seems far too limited in the MSI files it creates to fit our needs -- (example, if you check the Office 2007 prerequisite, even though the error says you need "Office 2007 or later" it will fail if you have Office 2010 installed instead -- you can check one or the other, but you can't create an OR condition -- there's a lot more that's just the tip of the iceberg). -- The bootstrapper it creates, on the other hand, is super awesome!

另一方面,WiX对于制作我们的MSI来说非常有效,但是Burn Bootstrapper却让人头疼不已-我们终于使它起作用了-但现在放在我们客户的盒子里,不仅失败了它在启动MSI文件时升高,但被 Symantec SONAR 并且无论如何安装都被阻止! (对于InstallShield LE不会发生这种情况,并且代码签名证书对于该项目而言过于昂贵.)坦白地说,我很想不要使用

WiX, on the other hand, worked great for making our MSI, but the Burn Bootstrapper has been just one headache after another -- we finally got it working -- but now on our clients' boxes, it's not only failing to elevate when it launches the MSI file, but it's getting detected as a virus by Symantec SONAR and the install is being blocked anyway! (This doesn't happen with InstallShield LE, and code signing certificates are too cost prohibitive for this project.) Honestly, I'd love to just NOT use the Burn Bootstrapper.

WiX Burn Bootstrapper有哪些替代方案?可以使用InstallShield LE吗? NSIS 怎么样? (它是否完全与Visual Studio 2010/Visual Studio 2012集成?)-我希望进行网络必备安装,以减小安装程序文件的大小;是的,我也必须维护.MSI. (否则,我现在将切换到完整的NSIS).

What alternatives to the WiX Burn Bootstrapper are there? Could the InstallShield LE one be used? What about NSIS? (Does it integrate with Visual Studio 2010/Visual Studio 2012 at all?) -- I'm hoping to do web installs of our prerequisites to keep the installer file size down -- and yes, I have to maintain the .MSI as well (otherwise, I would just switch to full-on NSIS at this point).

虽然我无法制作非常邪恶的小技巧的解决方案,但是如果您可以使Christopher的方法行得通,我想就是这样去.如果您做不到,也许我的骇客会让您难为情.

While I couldn't make Christopher Painter's solution work, I marked it as the answer because I believe it is the best approach suggested. I went with a pretty evil little hack of a solution, but if you can make Christopher's approach work, I think that's the way to go. If you can't, maybe my hack will get you unstuck.

推荐答案

只需花费大约$ 2K,您就可以升级到InstallShield Professional.但是,如果您对ISLE感到最满意,并且只能使用一项功能并且没有UI的自定义设置,那么我可以为您解决有关启动条件的问题.

For around $2K you could upgrade to InstallShield Professional. However, if you are mostly happy with ISLE and can live with only having 1 feature and no customizations of the UI, I can solve the problem regarding Launch Conditions for you.

请参阅我的博客文章:

使用Windows Installer XML-证书增强InstallShield

概念是您编写一个WiX合并模块,该模块搜索两个Office版本并计划一个错误自定义操作(MSI Type 19),该操作在逻辑或条件下使用这两个搜索.将其添加到ISLE项目中,您就已经融合"了这两种技术.

The concept is you author a WiX merge module that searches for the two office versions and schedule an Error custom action (MSI Type 19) that uses the two searches in a logical or condition. Add that to your ISLE project and you've just "blended" the two technologies.

Professional还为您提供PRQ(XML prereq文件)编辑器.然后再次在虚拟机上进行30天评估可以得到相同的结果.

Professional also gives you the PRQ (XML prereq file) editor. Then again throwing the 30 day eval on a VM can get you the same result.

这是WXS的一面:

<?xml version="1.0" encoding="utf-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
    <Module Id="ISWIX.REQUIRE.MSOFFICE20102013" Language="1033" Version="1.0.0.0">
        <Package Id="10ed24f2-6c07-4066-9f39-ba9f66c2667b" Manufacturer="ISWIX, LLC" InstallerVersion="200" />
        <Directory Id="TARGETDIR" Name="SourceDir">
            <Directory Id="MergeRedirectFolder"/>
        </Directory>
        <Property Id="OFFICE2010FOUND">
            <RegistrySearch Id="findOffice2010" Root="HKLM" Key="SOFTWARE\Microsoft\Office\14.0\Common\InstallRoot" Name="Path" Type="raw" />
        </Property>
        <Property Id="OFFICE2010X64FOUND">
            <RegistrySearch Id="findOffice2010X64" Root="HKLM" Key="SOFTWARE\Microsoft\Office\14.0\Common\InstallRoot" Name="Path" Type="raw" Win64="yes" />
        </Property>
        <Property Id="OFFICE2013FOUND">
            <RegistrySearch Id="findOffice2013" Root="HKLM" Key="SOFTWARE\Microsoft\Office\15.0\Common\ProductVersion" Name="LastProduct" Type="raw" />
        </Property>
        <CustomAction Id="ErrorNoOffice20102013" Error="[ProductName] setup requires Microsoft Office 2010 or 2013." />
        <InstallUISequence>
            <Custom Action="ErrorNoOffice20102013" After="AppSearch">Not OFFICE2010FOUND and Not OFFICE2010X64FOUND and Not OFFICE2013FOUND and Not Installed</Custom>
        </InstallUISequence>
        <InstallExecuteSequence>
            <Custom Action="ErrorNoOffice20102013" After="AppSearch">Not OFFICE2010FOUND and Not OFFICE2010X64FOUND and Not OFFICE2013FOUND and Not Installed</Custom>
        </InstallExecuteSequence>
    </Module>
</Wix>

这篇关于WiX Burn Bootstrapper的替代产品? (可以使用InstallShield LE引导程序吗?)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆