标签: bootstrapper

如何更改.NET框架引导程序包?

我有一个C#项目,我以前曾针对.NET 4.0,现在我想针对.NET 3.5,但我收到此警告:

.NET Framework启动条件".NET Framework 3.5"的版本与选定的.NET Framework引导程序包不匹配.更新.NET Framework启动条件以匹配在"先决条件"对话框中选择的.NET Framework版本.

但是,当我查看Publish-> Prerequisites时,将检查.NET framework 3.5 SP1.

我需要做些什么来摆脱这个警告?没有SP1的.NET framework 3.5没有复选框,我可以不检查任何框吗?

我检查了启动条件,.NET框架启动条件版本已经是3.5.

.net c# bootstrapper setup-deployment

36
推荐指数
3
解决办法
2万
查看次数

如何在MSBuild中获取Windows SDK文件夹?

在MSBuild任务中检索Windows SDK文件夹的方法是什么?

使用generateBootstrapper任务我正在为我的设置创建一个引导程序,以便能够安装先决条件.此任务需要指向必备软件包所在文件夹的路径,即Windows SDK文件夹

"C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bootstrapper\Packages\"
Run Code Online (Sandbox Code Playgroud)

使用Visual Studio 2008时.到目前为止,我一直在使用硬编码路径,但这不适用于任何系统.有没有更好的方法来获得这条路?

这是我的构建脚本:

<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" 
         ToolsVersion="3.5">
    <ItemGroup>
        <BootstrapperFile Include="Microsoft.Net.Framework.2.0">
            <ProductName>.NET Framework 2.0</ProductName>
        </BootstrapperFile>
        <BootstrapperFile Include="Microsoft.Windows.Installer.3.1">
            <ProductName>Windows Installer 3.1</ProductName>
        </BootstrapperFile>
    </ItemGroup>

    <Target Name="Bootstrapper">
        <GenerateBootstrapper ApplicationFile="mySetup.msi" 
            Culture="de-DE" 
            ApplicationName="My Application" 
            OutputPath="$(OutDir)\de-DE" 
            BootstrapperItems="@(BootstrapperFile)" 
            Path="C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bootstrapper\Packages\" />

        <GenerateBootstrapper ApplicationFile="mySetup.msi" 
            Culture="en-US" 
            ApplicationName="My Application" 
            OutputPath="$(OutDir)\en-US" 
            BootstrapperItems="@(BootstrapperFile)" 
            Path="C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bootstrapper\Packages\" />
    </Target>
</Project>
Run Code Online (Sandbox Code Playgroud)

msbuild winapi bootstrapper

26
推荐指数
4
解决办法
2万
查看次数

如何使WiX Bundle版本与我的应用程序版本相同

WiX Bundle中的"Version"属性显示在" 程序和功能"中.因此,这应该与我的实际应用程序的版本号相同,对吧?

假设它们应该是相同的,如何自动更新似乎并不是很明显.我有MSI根据这个问题来做,但不是Bundle/Bootstrapper位.如何让Bootstrapper Bundle做同样的事情并阅读MSI版本号?

wix bootstrapper

26
推荐指数
2
解决办法
7531
查看次数

WiX:数字签署BootStrapper项目

我有一个项目,我已经构建了一个WiX msi文件.我还有一个WiX引导程序(exe文件),它检查是否存在C++ 2005,如果找不到则安装它,然后安装msi软件包.我的项目包括Crystal Reports作为msm文件,它与msi一起安装但需要C++ 2005才能正确安装.

在MSI项目中,我已经包含以下post构建事件来对msi文件进行数字签名.

  sign  /f "$(ProjectDir)\myPFXFile.pfx" /p mySecretKey/d "My Program" /t http://timestamp.verisign.com/scripts/timstamp.dll /v "MyProgram.msi"
Run Code Online (Sandbox Code Playgroud)

如果我只安装msi,它会在请求提升的安装权限时正确识别发布者.

我尝试将相同的post-build事件添加到bootstrapper项目,如下所示:

  sign  /f "$(ProjectDir)\myPFXFile.pfx" /p mySecretKey/d "My Program" /t http://timestamp.verisign.com/scripts/timstamp.dll /v "MyProgram Setup.exe"
Run Code Online (Sandbox Code Playgroud)

当我尝试安装exe文件时,它正确识别发布者,但无法使用日志文件中的以下内容进行安装:

[1604:2574][2013-12-04T11:49:51]i001: Burn v3.7.1224.0, Windows v6.2 (Build 9200: Service Pack 0), path: C:\Users\.....\MyProgram Setup.exe, cmdline: ''
[1604:2574][2013-12-04T11:49:51]i000: Setting string variable 'WixBundleLog' to value 'C:\Users\.....\MyProgram_20131204114951.log'
[1604:2574][2013-12-04T11:49:51]i000: Setting string variable 'WixBundleOriginalSource' to value 'C:\Users\.....\MyProgram Setup.exe'
[1604:2574][2013-12-04T11:49:51]i000: Setting string variable 'WixBundleName' to value 'MyProgram'
[1604:2574][2013-12-04T11:49:51]i100: Detect begin, 2 packages
[1604:2574][2013-12-04T11:49:51]i000: Setting string …
Run Code Online (Sandbox Code Playgroud)

wix code-signing bootstrapper wix3.7

25
推荐指数
4
解决办法
2万
查看次数

Visual C++ 2010运行时库先决条件不断弹出VS 2010创建的安装程序

我使用Visual Studio 2010版本10.0.40.219.1 SP1 Rel创建了一个安装程序.我的应用程序是为x86构建/编译的,需要VC++运行时库.因此,安装项目配置为VC++运行时库作为先决条件.

每次运行安装程序时,我都会弹出"您的计算机上将安装以下组件"."Visual C++ 2010运行时库(x86)".它是第一次按预期安装.第二次及以后,它会询问我是否修复或删除VC++ 2010.

此弹出窗口应该只显示一次,第一次发现未安装VC++可再发行组件.

有没有人见过这个?有谁知道如何解决这个问题?

解:

我接受的答案给了我解决问题所需要的东西.以下是我为解决这个问题所做的工作的细节,事实上这非常简单.我编辑了文件:

C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages\vcredist_x86\product.xml
Run Code Online (Sandbox Code Playgroud)

在此文件中,您将找到以下内容:

<InstallChecks>
    <MsiProductCheck Property="VCRedistInstalled" Product="{6EE91C1A-A2E7-38CD-AEBB-3B900A4D8868}"/>
</InstallChecks>
Run Code Online (Sandbox Code Playgroud)

以上包含不正确的产品代码.将以上内容替换为Visual C++ 2010 SP1可再发行组件的正确产品代码,如下所示:

<InstallChecks>
    <MsiProductCheck Property="VCRedistInstalled" Product="{F0C3E5D1-1ADE-321E-8167-68EF0DE699A5}"/>
</InstallChecks>
Run Code Online (Sandbox Code Playgroud)

此处的链接显示各种VC++ 2010 Redistributables的正确产品代码.

setup-project visual-studio-2010 bootstrapper visual-c++

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

使用WiX/Burn安装后启动应用程序

我知道WiX MSI中存在类似的问题,但是我在安装后使用Burn创建的引导程序EXE文件中启动应用程序时遇到问题.我的完整包在下面.

如果它对场景有任何影响,则引导程序以被动模式启动,因此用户不需要按任何内容.

<?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 Company AutoUpdater"
            Version="1.0.11"
            Manufacturer="My Company"
            UpgradeCode="--GUID--">

        <BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.HyperlinkLicense">

            <bal:WixStandardBootstrapperApplication SuppressOptionsUI="yes"
                                                    LicenseUrl=""
                                                    LogoFile="logo.png" />
        </BootstrapperApplicationRef>

        <Chain>
            <MsiPackage SourceFile="..\App1\bin\Release\App1.msi" />
            <MsiPackage SourceFile="..\App2\bin\Release\App2.msi" />
        </Chain>
    </Bundle>

    <Fragment>
        <Property Id="WixShellExecTarget" 
                  Value="[#C:\Program Files (x86)\My Company\App1.exe]" />

        <Binary Id="MyCA"
                SourceFile="[#C:\Program Files (x86)\My Company\App1.exe]"/>

            <CustomAction Id="LaunchApplication"
                          BinaryKey="MyCA"
                          ExeCommand="-switch"
                          Execute="deferred"
                          Return="check"
                          HideTarget="no"
                          Impersonate="no" />

            <InstallExecuteSequence>
                <Custom Action="LaunchApplication" 
                        After="InstallFiles" />
            </InstallExecuteSequence>
    </Fragment>
</Wix>
Run Code Online (Sandbox Code Playgroud)

installation wix bootstrapper burn wix3.6

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

如何在WebApi OwinHost Startup中使用Ninject引导程序?

我正在从IIS WebAPI迁移到OwinHost.利用nuget软件包的最新预发布版本,我在这里成功使用了说明:

https://github.com/ninject/Ninject.Web.Common/wiki/Setting-up-a-OWIN-WebApi-application

这是我的代码的存根:

    public void Configuration(IAppBuilder app)
    {
        var config = new HttpConfiguration();
        config.MapHttpAttributeRoutes();

        app.UseNinjectMiddleware(CreateKernel);
        app.UseNinjectWebApi(config);
    }

    private static StandardKernel CreateKernel()
    {
        var kernel = new StandardKernel();
        kernel.Load(Assembly.GetExecutingAssembly());
        RegisterServices(kernel);
        return kernel;
    }

    private static void RegisterServices(IKernel kernel)
    {
        ...
    }
Run Code Online (Sandbox Code Playgroud)

但是在我的代码和文档示例中,Ninject内核直到启动后才会创建.但是,在Cors和OAuth中间件注册的启动注册过程中,我需要Ninject DI.在迁移到OwinHost之前,我可以这样做:

public void Configuration(IAppBuilder app)
{
  _bootstrapper = new Bootstrapper();
  _bootstrapper.Initialize(CreateKernel);           

  var config = new HttpConfiguration();
  config.MapHttpAttributeRoutes();

  // USE _boostrapper.Kernel here

  app.UseNinjectMiddleware(CreateKernel);
  app.UseNinjectWebApi(config);
}
Run Code Online (Sandbox Code Playgroud)

但在内部,OwinBootstrapper.Execute将最终调用CreateKernel和bootstrapper.Initialize第二次,结果不好.

在Startup中创建和使用ninject内核并仍然注册Ninject/WebAPI中间件的正确方法是什么?

c# ninject bootstrapper asp.net-web-api owin

18
推荐指数
2
解决办法
2万
查看次数

一般故障建设bootstrapper

在做我的dontnet 4.0项目设置的构建时,我遇到了以下错误

An error occurred generating a bootstrapper: Unable to finish updating resource for E:\project\Setup\Debug\setup.exe with error 8007006E    E:project\Setup\Setup.vdproj    Setup

General failure building bootstrapper   E:\project\Setup\Setup.vdproj   Setup

Unrecoverable build error   E:\project\\Setup\Setup.vdproj Setup
Run Code Online (Sandbox Code Playgroud)

我使用的是dotnet framework 4和MSVS 2010.

.net-4.0 setup-project visual-studio-2010 bootstrapper setup-deployment

17
推荐指数
3
解决办法
2万
查看次数

WiX Bootstrapper:如何从命令行设置刻录变量?

使用WiX 3.7和.NET 4.0.

从命令行运行WiX引导程序EXE时,如何设置刻录变量?

command-line wix bootstrapper

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

Bootstrap响应表不起作用

能否请您看看这个链接(请向下滚动到页面的结束),并让我知道为什么"
1表是不是actinf响应?2 -我希望能够控制<td>使用宽度col-md-3col-lg-3做这工作表作为好?

这是我的代码:

<div class="col-md-offset-1  col-lg-offset-1 col-md-6    col-lg-6">
<table class="table table-hover table-responsive">
<tbody>
<tr>
<td width="174"><strong>7:30 – 8:45 a.m.</strong></td>
<td>Arrival / Health CheckFree Choice in Activity Areas, books, puzzles, matching games, large block building, small blocks, floor toys, Lego, trucks and car play.</td>
</tr>
<tr>
<td><strong>8:45 – 9:00 a.m.</strong></td>
<td>Clean-up, toileting, wash up for snack</td>
</tr>
<tr>
<td><strong>9:00 – 9:30 a.m.</strong></td>
<td>Morning snack</td>
</tr>
<tr>
<td><strong>9:30 -10:00 a.m.</strong></td>
<td>Circle Time: Action songs, singing …
Run Code Online (Sandbox Code Playgroud)

bootstrapper twitter-bootstrap twitter-bootstrap-3

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