繁体   English   中英

为可以在Windows和OS X上运行的.NET应用程序构建安装程序?

[英]Build an installer for .NET app that can run on Windows and OS X?

我很惊讶我找不到这个问题,所以如果我错过了,请及时通知。

我需要在.NET中编写一个非常小的,相当简单的应用程序,它将由最终消费者下载并安装在他们的系统上。 Silverlight的沙盒模型不起作用 - 它必须是一个完整的下载,安装的可执行文件。

这就是我所知道的:

  • 我开发了在受控桌面环境中运行的应用程序 - 例如,在一百台内部计算机上运行的IT应用程序。
  • 我使用Mono开发了应用程序

我不知道的是:

  • 如何创建灵活,强大的安装程序,可以在无数不受控制的桌面配置和环境中工作。
  • 如何使用针对Mac OSX的Mono进行相同操作。
  • 安装广泛分布的最终用户应用程序以及如何减轻它们的常见问题是什么?

我正在寻找最好的资源来填补我的知识空白

有关

使用Mono在OSX上等效的Windows服务

对于Windows,请考虑Windows Installer XML(WiX) 对于OSX,您需要生成.app包。 以下是使用Monobjc项目中包含的nant任务的示例

以下是您将面临的一些主要问题:

在Windows上:

  • 您的安装程序必须检测以前/旧版本并根据需要关闭/卸载/迁移。 NSIS和WiX都有此机制。
  • 您的安装程序/应用程序必须与不同版本的Windows(XP,Vista,7)和不同版本的.NET(最终为2.0,3.0,3.5)兼容。 实际上测试这是你面临的一项比较繁琐的任务。 我强烈建议您使用一些干净的虚拟机映像。

在OSX上:

  • 您很可能希望发布一个独立的应用程序包,这意味着mono将捆绑在您的.app中。 这将为您的distributable增加~50mb。
  • 您必须引用不同版本的Monobjc来支持OSX 10.4和10.5,您需要配置构建来执行此操作,以及测试这两个版本。
  • 通过在代码库上运行Mono Migration Analyzer(MoMA) ,确保您的c#代码未使用Windows / .NET特定的调用。

升级:

您还没有提到计划如何提供升级。 NSIS和WiX有能力处理升级。 在部署初始版本之前,请确保已完成构建版本控制方案。 在OSX上,Monobjc可以与Sparkle集成。

有一个bitrock ,它处理你的目标平台,但需要花钱

http://www.openlina.com/

他们提供一次构建,随处运行承诺。

这可能是您正在寻找的答案,也可能不是。 如果您的应用程序可以在Silverlight沙箱中存活,您可能想要探索Silverlight 3.0。

Silverlight 3允许您的应用程序在Windows和Mac上的浏览器之外运行。

以下是设置它的示例: http//www.silverlightshow.net/items/Silverlight-3-as-a-Desktop-Application-Out-of-Browser-Applications.aspx

要创建安装程序,有:

  1. NSIS - 免费
  2. InstallShield - 付费

我不知道怎么知道Macs

问题:计算机没有.Net Framework

解决方案: StackOverflow - 适用于.NET应用程序的连接器状态

你可以试试BitRock的InstallBuilder 从他们的网站:

BitRock InstallBuilder是一个开发工具,用于构建桌面和服务器软件的跨平台安装程序。 使用InstallBuilder,您可以从单个项目文件和构建环境快速为Linux,Windows,Mac OS X,Solaris和其他平台创建专业安装程序。

你想要的是InstallAnywhere 它允许您使用一个安装程序项目定位多个平台。 它将有助于依赖性和平台特定问题。

我已经在LINUX / BSD / Windows部署上使用它,它工作得很漂亮。 如果你有X-windows,你有一个GUI,如果不是命令行安装。 Windows安装程序使用标准的Windows安装程序技术,看起来像一个专业的安装程序。 它也支持mac OS X. 我强烈推荐这个软件,它完全符合您的要求。

正如其他海报所提到的, BitRock InstallBuilder支持Windows,Linux和Mac的目标平台。 我想补充说,Mono项目本身已经使用了一段时间来为Mono运行时分发一体化二进制安装程序。 它也被其他成功的基于单声道的ISV(如Codice Software)使用

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM