如何分发一个Windows应用程序?

什么是分发Windows应用程序的最佳方式:

  • 我应该使用哪种格式来分发应用程序,exe文件或zip文件?
  • 我应该签署申请吗?

还有其他要点吗?

我将使用innosetup为应用程序创build一个安装程序。 该应用程序使用node-webkit。

(我不是Windows用户,但是)MSI包比exe文件和zip文件都好。 选择交互式或无人值守安装的自由度以及处理依赖性和升级的能力足以使其成为最佳选择。 WiX使得MSI的创建变得更加简单 – 试一试。

只要应用程序部署 – 它不会影响您选择分发的数据格式。

我将从用户的角度来讲话,而不是技术人员在这里讲话。 请包括一个CLEARLY LABELED安装程序(MSI是最好的;但如果它是.exe,或.bat或其他,将其标记为“安装程序”或“点击安装”或类似的)和一个有用的自述,如果你做选择分发一个.zip。

这完全取决于exe的含义。 如果它只是一个简单的.NET可执行文件,并且它是自包含的,那么您所需要的仅仅是一个zip文件(等待包含<.NET 2.0)。 Windows的每一个更新的后续版本都有内置于操作系统的.NET运行时,一直增加到4.5或5.0?

所以,如果你有最新的Windows,并且上面有.NET 4.5库,那么你所需要的只是可执行文件。 但是,如果它是较旧的操作系统,则可能需要捆绑或链接所需的运行时。 有些应用程序需要安装第三方组件和其他DLL。 在这种情况下,您最好的选择是使用Install Shield或Wise或Orca等第三方工具,您可以在其中自定义安装并安装第三方组件,如SQL server Personal,Oracle Personal或mySQL Database或Crystal报表组件。

此外,如果需要NTFS权限和网络权限或需要注册表值,则需要使用Wise,InstallShield等进行编写脚本,并且需要提升权限。 微软还有一些内置的Deploy Once(?)工具,可以通过网络,网络路径或可执行文件来完成。

这一切都取决于你的exe的复杂性,它对你的系统有多大的影响等等。我见过的应用程序甚至需要防火墙的例外,等等。如果你在公司环境中,并有一个域,你可以使用SCCM / SMS的Unicenter。 就像我说的,这一切都取决于复杂性和范围。

如果这是一个简单的.NET 2.0应用程序,那么你所需要的只是一个zip文件。 最好的方法是将exe文件复制到几个不同的系统并进行测试。

MSI本质上能够从shell或run / explorer执行。 你也可以将你的安装编译成一个自包含的可执行文件。

底线,这一切都取决于你的应用程序:)