.NET Bootstrap 无需设置

标签 .net winforms bootstrapping

我有一个需要从 CD 运行的 .NET WinForms 应用程序。我需要弄清楚的是,用户是否需要安装 .NET 版本或在必要时安装而不是在安装后运行应用程序。我发现的有关引导的任何信息都涉及应用程序的设置和安装。如果我不安装任何东西,我该怎么做?我会appeciate任何信息..

最佳答案

我也想过很长一段时间不制作安装程序就无法做到这一点,但事实并非如此。
有一个 msbuild 操作,称为 "GenerateBootstrapper"
如果您在 Visual Studio 中:

  • 右键单击​​您的项目
  • 卸载项目
  • 编辑您的项目名称.csproj”

  • 然后您可以以不同的方式添加 GenerateBootstrapper 操作(取决于您要安装的内容)。 MSDN 给出了一个 .NET 2.0 的例子:
    <ItemGroup>
        <BootstrapperFile Include="Microsoft.Net.Framework.2.0">
            <ProductName>Microsoft .NET Framework 2.0</ProductName>
        </BootstrapperFile>
    </ItemGroup>
    
    <Target Name="BuildBootstrapper">
        <GenerateBootstrapper
            ApplicationFile="WindowsApplication1.application"
            ApplicationName="WindowsApplication1"
            ApplicationUrl="http://mycomputer"
            BootstrapperItems="@(BootstrapperFile)"
            OutputPath="C:\output" />
    </Target>
    

    我没有尝试过这个例子,但我自己尝试过,我可以告诉你,为了在 XP 机器上安装 .NET 4 Client Profile(这是今天最新的稳定 .NET 版本),你需要安装 Windows Imaging Component第一的。这就是 VS2010 中包含的标准 .NET4 Client Profile 先决条件在 XP 上失败的原因。所以我写了 my own bootstrapper
    您可以下载我的示例 VS2010 解决方案,它为控制台应用程序创建 bootstrap 。
    但它要求您安装(只需复制)我的 bootstrap 。所以这里是步骤:
  • 下载我的 Windows Imaging Component bootstrapper
  • 解压到%PROGRAMFILES%\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages
  • 下载我的 BootstrapperTest solution
  • 构建解决方案。您将看到它在\bin\Debug 目录中创建了 BootstrapperTest.exe 和 setup.exe。 Setup.exe 是一个 bootstrap ,您可以在没有安装 .NET 的情况下运行它 - 它会为您获取它,然后运行 ​​BootstrapperTest.exe。
  • 如果您想将其作为单个文件分发,我建议使用 ChilkAt Zip2Secure 或类似的文件。 Zip2Secure 非常易于使用,我希望您不会遇到任何麻烦。
  • 关于.NET Bootstrap 无需设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/512452/

    相关文章:

    c# - 为什么不应该通过实例变量访问共享/静态成员?

    c# - 我应该如何从后台线程请求用户输入?

    c# - .dtbcache 文件有什么作用?

    php - 从 htaccess 重写规则中排除文件

    c# - 无法从 .NET 4.6 中的 C# Web 项目引用 F# 库?

    c# - Python for .NET - 删除 DLL 引用

    c# - 验证来自 OneLogin 的 Saml 响应

    C# Task.Run 减慢了我的 wpf 程序

    Angular 4 应用程序引导和入口点

    c#,MSBuild Bootstrapper with wix,如何下载.net framework 3.5 SP1?