【问题标题】:How to copy Microsoft dlls into my NSIS installer如何将 Microsoft dll 复制到我的 NSIS 安装程序中
【发布时间】:2015-07-15 21:21:16
【问题描述】:

我正在使用 NSIS 制作安装程序,我的游戏计划是

  • 构建启动项目
  • 复制从 bin/(x86) 或 bin/x64 文件夹创建的文件并将它们嵌入到安装程序中

问题是某些文件没有被包含在内。据我所知,这些文件完全是 Microsoft dll。有人对我如何包含它们有任何想法吗?

我的想法是解析csProj文件并遍历Item-Group -> PublishFile节点上的每个文件,检查它是否在bin子文件夹中,如果不是,将文件嵌入安装程序中。

有没有更简单/更好的方法来做到这一点?如果没有,是否至少有一个类(可能是 DTE 类)代表 csProj 文件的内容,所以我不需要解析 xml?我环顾四周,找不到任何东西。

【问题讨论】:

  • 没有。我的意思是 MS 程序集,例如 (Microsoft.SqlServer.ConnectionInfo.dll) 和 (Microsoft.VisualStudio.Shell.Interop.dll)
  • 这可能不会这样做,因为您只会获得可能具有自己依赖关系的实际程序集。对于 sql server 的东西,我认为您应该在安装程序中捆绑 SMO 安装程序以使其正确。 msdn.microsoft.com/en-us/library/ms162189.aspx

标签: c# nsis envdte


【解决方案1】:

从您的原始帖子中,我可以理解的是,您正在构建某种 C# 应用程序并希望为其构建一个安装程序。

现在为什么需要打包 Microsoft Dll?

Microsoft 确实提供了要安装在最终用户计算机上的每个可再发行包。您需要分析在未安装 Visual Studio 的计算机上运行应用程序时需要哪些包。

我认为您只需要 .Net Framework 和 SQL redist 包。而且这些东西在安装的时候可以静默安装。这是更正确的方法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-18
    • 2019-07-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多