簡體   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