构建一个安装程序.NET应用程序,可以在Windows和OS X上运行? [英] Build an installer for .NET app that can run on Windows and OS X?

查看:94
本文介绍了构建一个安装程序.NET应用程序,可以在Windows和OS X上运行?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

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

下面是我知道的:

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

我不知道是什么:

  • 如何创建一个灵活的,强大的安装程序,将工作在不受控制的桌面配置和环境万千。
  • 如何做同样的单声道针对Mac OSX版。
  • 什么是安装一个广泛分布的最终用户应用程序的共同问题,以及如何缓解呢?

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

  

相关

     

<一个href="http://stackoverflow.com/questions/1223520/equivalent-of-a-windows-service-on-osx-with-mono">Equivalent Windows服务在OSX使用Mono

解决方案

对于Windows,可以考虑的Windows Installer XML(WiX的)。对于OSX,你需要生成一个。应用程序包。 这里是使用附带的Monobjc 项目。

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

在Windows上:

  • 您的安装程序必须检测 previous /旧版本和 关闭/卸载/迁移作为 适当。无论NSIS和维克斯有 机制这一点。
  • 您的安装程序/应用程序将不得不 与不同版本的兼容 视窗(XP,Vista中,7),而不同的 .NET(2.0,3.0,3.5版本 最终)。实际测试,这是 更繁琐的任务之一,你 面对。我强烈建议有一个 一把干净的虚拟机 围绕这个图像。

在OSX:

  • 您将最有可能要推出一款独立的应用程序包,这意味着单将在您的.app中捆绑。这将增加〜50MB到您的分配。
  • 您必须引用不同版本Monobjc的支持OSX 10.4和10.5,您将需要配置您的构建要做到这一点,以及测试两个版本。
  • 请确保您的C#code被不使用的运行单迁移分析器的Windows / .NET具体的调用(纽约现代艺术博物馆)您codeBase的。

升级:

您还没有提到你打算如何提供升级。 NSIS和维克斯必须处理升级的能力。确保你有你的编译版本方案制定了您的部署的最初版本之前。在OSX,Monobjc可以耀的集成。

I am surprised I could not find this question already asked, so if I simply missed it please notify promptly.

I need to write a very small, fairly simple application in .NET that will be downloaded by end-consumers and installed on their system. Silverlight's sandbox model will not work - it has to be a full-on downloaded, installed executable.

Here's what I know:

  • I've developed applications which run in a controlled desktop environment - for example, an IT app that runs on a hundred internal computers.
  • I've developed applications using Mono

What I do not know:

  • How to create a flexible, robust installer that will work on a myriad of uncontrolled desktop configurations and environments.
  • How to do the same with Mono targeted for Mac OSX.
  • What are the common issues in installing a widely-distributed end-user application and how to mitigate them?

I am looking for the best resources to fill in my knowledge gaps.

Related

Equivalent of a Windows Service on OSX with Mono

解决方案

For Windows, consider Windows Installer XML (WiX). For OSX, you need to generate a .app bundle. Here is an example using the nant tasks included with the Monobjc project.

Here are some of the major issues you will face:

On Windows:

  • Your installer will have to detect previous/old versions and close/uninstall/migrate as appropriate. Both NSIS and WiX have mechanisms for this.
  • Your installer/app will have to be compatible with different versions of Windows (XP, Vista, 7), and different versions of .NET (2.0, 3.0, 3.5 eventually). Actually testing this is one of the more tedious tasks you face. I strongly recommend having a handful of clean virtual machine images around for this.

On OSX:

  • You will most likely want to ship a standalone application bundle, meaning mono will be bundled within your .app. This will add ~50mb to your distributable.
  • You will have to reference different versions of Monobjc to support OSX 10.4 and 10.5, you will need to configure your build to do this, as well as test both versions.
  • Make sure that your c# code isn't using Windows/.NET specific calls by running the Mono Migration Analyzer (MoMA) on your codebase.

Upgrading:

You haven't mentioned how you plan to offer upgrades. NSIS and WiX have the capability to handle upgrades. Make sure you have your build versioning scheme worked out before your deploy the initial version. On OSX, Monobjc can integrate with Sparkle.

这篇关于构建一个安装程序.NET应用程序,可以在Windows和OS X上运行?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆