标签: bootstrapper

通过Web从Web下载软件包的Bootstrappers

创建引用Microsoft软件包的Internet下载引导程序的最佳实践是什么?

例如,InstallShield有一个安装程序先决条件,可以通过go.microsoft.com/fwlink链接ID从Microsoft.com下载vstor40_x86.exe,该链接ID解析为该EXE的下载URL.InstallShield没有为vstor40_x64.exe创建PRQ,我需要创建一个PRQ.我找到了包含x86/x64.exe下载链接的Microsoft页面,但是我找不到解析为x64的fwlink ID.

微软在这方面的立场是什么?他们是否在任何地方记录了fwlink ID,他们是否希望我们链接到Microsoft,以便他们可以控制可用性,或者这是一种不好的做法,只是从微软中解脱出来?

windows-installer installshield wix bootstrapper

7
推荐指数
1
解决办法
1378
查看次数

我应该如何为Unity和AutoMapper实现MVC Bootstrapper?

为我的MVC 2应用程序创建引导程序的最佳方法是什么?我正在使用Unity和AutoMapper,并希望尽可能地抽象它们的加载和配置.

这里有一个很好的例子(http://weblogs.asp.net/rashid/archive/2009/02/17/use-bootstrapper-in-your-asp-net-mvc-application-and-reduce-code-smell. aspx ),但UnityContainer实现了IDisposable,在这个例子中它永远不会被清除.这(在Bootstrapper中配置自动映射违反了开放 - 封闭原则?)也是一个不错的例子,但他也没有处理Unity/Disposable问题.

这是(http://www.dominicpettifer.co.uk/Blog/42/put-an-ioc-powered-bootstrapper-in-your-asp-net-mvc-application)另一个如何做Bootstrapper的好例子,但同样没有解决Unity/Disposable问题.

我想在一个静态变量中保持我的Bootstrapper对象,并使它实现IDisposable,但这听起来不对.

asp.net-mvc unity-container bootstrapper automapper

7
推荐指数
1
解决办法
2699
查看次数

wix installer 3.7 bootstrapper注册表搜索

<?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:bal="http://schemas.microsoft.com/wix/BalExtension"
     xmlns:netfx='http://schemas.microsoft.com/wix/NetFxExtension'>

    <Bundle Name="IPDev" Version="0.6" Manufacturer="MYAPP Corporation" UpgradeCode="f380ae43-5df1-4cfe-9297-526e3e638e57">
        <BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.RtfLicense" />
        <Chain>
            <!-- TODO: Define the list of chained packages. -->
            <PackageGroupRef Id="Netfx45FullPackage"/>      
        </Chain>
    </Bundle>
  <Fragment>
    <!--checking for matlab 2012a installation-->
     <util:RegistrySearch Id="MatlabPath"
            Variable="UniqueId"
            Root="HKLM"
            Key="SOFTWARE\MathWorks\MATLAB\4.17\"
            Result="exists"
            Win64="yes" 
           />
    <!--checking for matlab MCR 2012a 64 bit installation-->
    <util:RegistrySearch Id="MatlabMCRPath"
            Variable="UniqueId"
            Root="HKLM"
            Key="SOFTWARE\MathWorks\MATLAB Compiler Runtime\7.17\"
            Result="exists"
            Win64="yes" 
            />
    <PackageGroup Id="Netfx45FullPackage">

     <ExePackage Id="Netfx45Xxx" Cache="no" Compressed="no" PerMachine="yes" Permanent="yes" Vital="no" InstallCommand="/q"
        SourceFile="..\SetupProject\dotnetfx45_full_x86_x64.exe"
        DetectCondition="(Netfx4FullVersion=&quot;4.5.50709&quot;) AND (NOT VersionNT64 OR (Netfx4x64FullVersion=&quot;4.5.50709&quot;))" …
Run Code Online (Sandbox Code Playgroud)

windows-installer wix bootstrapper wix3.5 wix3.6

7
推荐指数
2
解决办法
5556
查看次数

在WiX Bundle中包含.NET安装程序,不检测是否已安装

我使用的是WiX 3.7,我无法使用简单的<PackageGroupRef Id ="NetFx40Web"/> bundle元素,因为它不会带来Net FX安装程序包,或者将它嵌入到setup.exe中.我已经在我的Bundle.wxs文件中为此创建了自己的包,但我仍然遇到了麻烦.它似乎总是尝试安装.NET 4,即使机器已经安装了.NET.

我不太确定InstallConditionDetectCondition之间的区别.我认为如果评估为true,则使用InstallCondition来安装软件包,否则将其卸载.如何处理通常是永久性的东西=是,例如大多数先决条件?我认为,DetectCondition几乎完全相反,它检查它是否已经在系统上,如果是,则不安装它.

下面是我Bundle.wxs在Visual Studio WiX Bootstrapper项目中的完整文件.我试图查看注册表和.NET 4.0注册表项的范围.如果它存在,那么我不想安装.NET 4.如果它不存在,那么安装它.但是,这不起作用,它总是尝试安装.NET.

<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
    <Bundle
        Name="MyProgramBootstrapper"
        Version="1.0.0.0"
        Manufacturer="Microsoft"
        UpgradeCode="{2299B51D-9FD8-4278-90C8-2B79DB37F402}">

        <BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.RtfLicense" />
        <Chain>
          <PackageGroupRef Id="Netfx4Full"/>
          <MsiPackage
              Id="MyProgramInstaller"
              SourceFile="$(var.MyProgramInstaller.TargetPath)"
              Compressed="no"/>
        </Chain>
    </Bundle>

    <Fragment>
        <Property Id="NET40_FULL_INSTALL_32">
            <RegistrySearch
                Id ="SearchNet40_32bit"
                Root="HKLM"
                Key="SOFTWARE\Microsoft\Net Framework Setup\NDP\v4\Full"
                Name="Version"
                Type ="raw"/>
        </Property>
        <Property
            Id="NET40_FULL_INSTALL_64">

            <RegistrySearch
                Id ="SearchNet40_64bit"
                Root="HKLM"
                Key="SOFTWARE\Microsoft\Net Framework Setup\NDP\v4\Full"
                Name="Version"
                Type ="raw"
                Win64="yes" /> …
Run Code Online (Sandbox Code Playgroud)

wix bootstrapper wix3.7

7
推荐指数
1
解决办法
1万
查看次数

如何使用msbuild引导.NET 3.5 SP1?以下找到的说明不起作用

我正在尝试使用msbuild GenerateBootstrapper任务来分发带有框架的.net应用程序,而无需使用Internet连接来安装它.

我发现很多帖子都在这里引出相同的说明:

为.NET Framework 3.5 SP1引导程序启用Samesite

按照说明操作后,我仍然无法生成引导程序.我可以看到的更明显的问题是从dotNetFx35.exe中提取文件不会提取与自述文件上显示的文件和文件夹相同的文件和文件夹列表(例如,TOOLS文件夹不存在).

我究竟做错了什么?我是否遵循旧的指示?

msbuild错误如下:

C:\svn\GII\5.1b\Installer\src\Installer\Installer.wixproj(103,5): error MSB3152: The install location for prerequisites has not been set to 'component vendor's web site' and the file 'DotNetFX35SP1\TOOLS\clwireg.exe' in item '.NET Framework 3.5 SP1' can not be located on disk. See Help for more information.
C:\svn\GII\5.1b\Installer\src\Installer\Installer.wixproj(103,5): error MSB3152: The install location for prerequisites has not been set to 'component vendor's web site' and the file 'DotNetFX35SP1\TOOLS\clwireg_x64.exe' in item '.NET Framework 3.5 SP1' can not be located on …
Run Code Online (Sandbox Code Playgroud)

msbuild visual-studio-2010 bootstrapper .net-3.5

6
推荐指数
1
解决办法
7309
查看次数

NetFx45WebLink和NetFx45RedistLink有什么区别

我用WiX 3.7编写了一个首先安装.net 4.5的引导程序,然后是我的应用程序的MSI:

<Chain>
  <PackageGroupRef Id="NetFx45Redist"/>
  <MsiPackage Id="MainAppPackage"
              After="NetFx45Redist"
              SourceFile="..\bin\Debug\MyApp.msi"/>
</Chain>
Run Code Online (Sandbox Code Playgroud)

WiX的文件说,NetFx45Redist是一个独立的设置,同时NetFx45Web为网络设置.在我使用设置为Id的引导程序NetFx45Redist构建之后,与使用NetFx45Web指定的Id 构建它时相比,它具有相同的大小.我很好奇所以我下载了WiX源(v3.7).我惊讶地发现这两个PackageGroup元素之间几乎没有什么区别.

DownloadUrlNetFx45Webhttp://go.microsoft.com/fwlink/?LinkId=225704,而一个NetFx45Redisthttp://go.microsoft.com/fwlink/?LinkId=225702.根据RemotePayload\@Size属性NetFx45Web是1005568字节并且NetFx45Redist是50352408字节.

我希望NetFx45Redist在我的引导程序中包含.net 4.5设置,不需要下载.我觉得这是错的.PackageGroup我应该使用哪个,以及2个下载的.net 4.5安装之间有什么区别?

.net wix wix3 bootstrapper wix-extension

6
推荐指数
1
解决办法
3254
查看次数

Wix Bootstrapper:Bootstrapper事件的序列

我开始玩Managed Boostrapper类和事件.简而言之,我添加了BoostrapperCore.dll,它会给你命名空间

Microsoft.Tools.WindowsInstallerXml.Bootstrapper

我能够从不同博客中的一些示例中获得一些信息.例如,入口点是BootstrapperApplication.Run(),在bootstrapper应用程序准备好运行时被调用.

然后有一些事件,如:

BoostrapperApplication.DetectBegin
BoostrapperApplication.DetectPackageBegin
BoostrapperApplication.DetectForward
Run Code Online (Sandbox Code Playgroud)

等等......

问题:是否有任何精确的文档/在线帮助,提供Microsoft.Tools.WindowsInstallerXml.Bootstrapper命名空间中的事件和方法的详细信息和顺序?

这肯定会节省很多时间......

问候

wix bootstrapper burn

6
推荐指数
1
解决办法
2706
查看次数

Wix Bootstrapper MSI-Package日志记录,怎么样?

我有一个安装MSI包的引导程序.

我怎样才能实现至少msi-package-installation被记录(详细日志记录)?我在哪里可以设置日志文件路径?因为我猜不能记录所有内容?

不,我想要一个cmd解决方案,我需要在我的设置中实现这一点

找到LogPathVariable,但不知道它是如何工作的?

<MsiPackage SourceFile="$(var.Setup.TargetPath)" LogPathVariable="" />
Run Code Online (Sandbox Code Playgroud)

谷歌周围多次搜索并没有找到解决这个问题的方法,有什么帮助吗?

logging windows-installer wix bootstrapper

6
推荐指数
1
解决办法
5751
查看次数

WiX .NET Bootstrapper - 功能选择

我们正在尝试使用自定义.NET Bootstrapper通过我们的WiX安装程序有选择地在MSI包中安装功能.

注册到PlanMsiFeature活动后,我们认为我们可以访问MSI中的功能,并根据预设条件排除某些功能.但是,该事件似乎从未被调用过.有没有人设法成功使用此活动?

非常感谢.

windows-installer wix bootstrapper msiexec

6
推荐指数
1
解决办法
1956
查看次数

当与fakeroot和fakechroot一起使用时,Gentoo + debootstrap失败

我正在使用Gentoo框,我想在不使用root帐户或sudo的情况下创建基于Debian的chroot环境.

这似乎可以使用fakerootfakechroot等工具,但到目前为止我还没有取得任何成功.这是我用于Precise的命令:

fakeroot fakechroot /usr/sbin/debootstrap --variant=fakechroot precise ./precise http://archive.ubuntu.com/ubuntu/
Run Code Online (Sandbox Code Playgroud)

它始终失败并出现相同的错误:

I: Installing core packages...
W: Failure trying to run: chroot precise dpkg --force-depends --install /var/cache/apt/archives/base-passwd_3.5.24_amd64.deb
W: See precise/debootstrap/debootstrap.log for details
Run Code Online (Sandbox Code Playgroud)

debootstrap.log的内容是:

dpkg: error while loading shared libraries: libselinux.so.1: cannot open shared object file: No such file or directory
Run Code Online (Sandbox Code Playgroud)

我不知道为什么SELinux被拉进来以及为什么它没有正确处理这种依赖.此外,我也试图建立Wheezy和Jessie.同样的错误.

这是怎么回事?版本:

debootstrap的-1.0.67

fakeroot的-1.19

fakechroot-2.17.2

内核3.19.6

ubuntu debian chroot gentoo bootstrapper

6
推荐指数
1
解决办法
599
查看次数