如何将安装(框架+应用程序)打包到一个可执行文件中?

2024-02-18

我想创建一个文件“setup.exe”,其中包含我用 C# 开发的一个应用程序以及 .Net Framework 4.0 的安装程序。

这个想法是:当我执行“setup.exe”时,它会检查计算机上是否安装了.net Framework 4.0,如果没有安装!

使用InstallShield 2009。

有人知道该怎么做吗?

如果有什么不明白的请告诉我。

Thanks.


关于安装,您可以使用 Visual Studio 附带的内置机制,例如,它们允许 setup.exe 自动检查是否安装了所需的框架版本,如果不存在则安装它 - 一个好的开始请参见MSDN http://msdn.microsoft.com/en-us/library/2kt85ked.aspx.

关于使您的应用程序/EXE 由 1 个文件(包括所有托管依赖项)组成,您有多种选择:

  • use (free)
    至于如何看here https://github.com/Tigraine/dotless/blob/master/default.ps1#L87 and here http://research.microsoft.com/en-us/people/mbarnett/ILMerge.aspx

OR

  • 使用一些工具,例如智能装配 http://www.red-gate.com/products/dotnet-development/smartassembly/(商业的)
    它可以嵌入和合并其他东西(无需更改源代码)

OR

  • 自己编写的代码不到 10 行 http://blogs.msdn.com/b/microsoft_press/archive/2010/02/03/jeffrey-richter-excerpt-2-from-clr-via-c-third-edition.aspx(免费但最小的源代码更改)
    将所有需要的依赖项标记为“嵌入资源” - 这样它们就包含在 EXE 文件中...您需要设置一个AssemblyResolve http://msdn.microsoft.com/en-us/library/system.appdomain.assemblyresolve.aspx处理程序在运行时从资源中读取并将所需的 DLL 返回到 .NET 运行时...
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将安装(框架+应用程序)打包到一个可执行文件中? 的相关文章

随机推荐

  • Windows 控制台%DATE% 数学

    我想将 Windows 批处理文件中的日期设置为从今天起 7 天前 我想按照以下格式执行此操作 set today date 10 4 date 4 2 date 7 2 有什么想法如何减去这里的 7 天时间增量吗 我前段时间在某个网站上发
  • php fputcsv 在 CSV 中使用分号分隔符

    我编写了一段代码 从数据库检索数据并使用函数 fputcsv 将它们填充到 CSV 中 我把以下内容放在上面 file fopen internal customer info csv w 然后我检索数据并将它们放入变量中 运行该函数 cu
  • 意外的 NSAutoresizingMaskLayoutConstraint 将 UIView 从笔尖添加到自动布局故事板场景

    我在 IB 中有以下内容 并且两个视图都打开了 使用自动布局 并关闭了 调整子视图大小 我只是尝试将自动布局视图的实例添加到容器视图中 以便其边缘与其容器视图的边缘相交 容器视图启用了 使用自动布局 并且高度相同 但宽度是其两倍 这是代码
  • Flutter - 在 CustomPainter 上获取触摸输入

    我有一个简单的 CustomPaint CustomPainter 来绘制一段圆 代码如下 我读到我无法使用 GestureDetector 因为它不是一个合适的小部件 那么获取输入的最佳方式是什么 我将把一堆片段放在一起 所以我需要像素精
  • 页面上的 WPF KeyDown 事件

    我有一个NavigationWindow with Page 页面 XAML
  • 如何制作符号表

    我们的任务是制作一个编译器 我们已经进行了词法和语法分析 但我们仍停留在中间代码的生成上 我们意识到我们必须实现一个符号表才能进行中间代码生成 但我们不知道如何做到这一点以及它包含什么 给出下面的代码 符号表应该包含什么 该代码是用教育语言
  • 选择器 - 在 jQuery 中选择页面上的所有表格

    假设我在嵌入式 div 的各个级别的页面上有多个表 没有 ID 或名称 我的选择器会是什么 如果可能的话 来选择所有表 无论它位于页面上的哪个位置 并根据第一行中第一个单元格的内容迭代或过滤表 你可以简单地使用 table 作为你的选择器
  • SQL Server:Oracle 中的 RowVersion 等效项

    Oracle 有类似的数据类型吗SQL服务器RowVersion http technet microsoft com en us library ms182776 aspx 当您插入或更新一行时 相应的版本列 其类型为RowVersion
  • int gl_VertexID 导致 Three.js 出错

    我一直在使用内置顶点索引的 gl VertexID 时遇到问题 通过使用in 与 Three js 一起使用 我不知道为什么 因为文档说它适用于所有版本的 OpenGL http www opengl org sdk docs mangls
  • Python - csr_matrix 的数据结构

    我正在研究TFIDF 我用过tfidf vectorizer fit transform 它返回一个 csr matrix 但我无法理解结果的结构 数据输入 文件 天空是蓝色的 太阳是明亮的 太阳在 天空很亮 我们可以看到灿烂的太阳 明亮的
  • 无法读取快速路由器中未定义的“get”属性

    我的代码如下所示 app js const app express const itemsRouter require routes items js app use bodyParser urlencoded extended true
  • JPA 1.0 错误:名称不是可识别的实体或标识符。已知实体名称:[]

    当我尝试执行简单的 JPA 1 0 代码时 出现以下异常 可能是什么原因 5453 DevPQRWDPBSSPersist WARN P 351601 O 0 CT openjpa Enhance This configuration di
  • 在 JavaScript 中将 Unix 时间戳转换为时间

    我将时间作为 Unix 时间戳存储在 MySQL 数据库中 并将其发送到一些 JavaScript 代码 我怎样才能从中抽出时间呢 例如 在HH MM SS format let unix timestamp 1549312452 Crea
  • 如何使用快捷方式在Android Studio中自动导入必要的类?

    我刚刚切换到 Android Studio 0 5 1 这里的事情进展得很慢 因为没有任何东西可以正常工作 如何使用快捷方式导入必要的类 我的意思是像这样的 import android os Bundle import android s
  • 有没有办法从 EF 中的字符串值数组动态生成多个点赞?

    我设置了一个搜索文本框 其中搜索将单独抓取每个单词并使用 包含 搜索字段 有没有办法通过 Contains 搜索字符串数组 Keep in mind that the array would be generated dynamically
  • 是否可以在 Travis 中启动 Selenium 服务器?

    我想在 Travis 中运行完整的 Selenium 测试 但我似乎无法启动服务器 我的 Travis YAML 文件 language node js node js 6 2 before script npm install selen
  • 改进 Scala 的 JVM [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 如何阻止netty在服务器套接字上监听和接受

    有没有办法告诉 netty 停止侦听和接受套接字上的新连接 但完成当前连接上任何正在进行的工作 你可以直接关闭ServerSocketChannel由创建的ChannelFactory 通常 ServerSocketChannel由返回Se
  • 自动填充到最后一个相邻单元格的宏

    我正在尝试使用 Excel 中的宏记录器来记录宏来填充一列单元格 但是因为每次填充的单元格数量不同 所以它要么填充得太短 要么填充得太长 这似乎是因为宏标识单元格范围及其固定 无论如何 我可以让它填充到最后一个填充的相邻单元格吗 例如 自动
  • 如何将安装(框架+应用程序)打包到一个可执行文件中?

    我想创建一个文件 setup exe 其中包含我用 C 开发的一个应用程序以及 Net Framework 4 0 的安装程序 这个想法是 当我执行 setup exe 时 它会检查计算机上是否安装了 net Framework 4 0 如