我有一个.Net程序,我想在终端服务器上安装。在过去,我已经创建了安装程序项目并生成了一个MSI。但是,终端服务器要求在运行MSI之前将所有用户都关闭,我想避免这种情况。有没有办法在没有MSI的情况下进行安装?

有时对于某些用户帐户,我只需复制.exe并使用它。但对于其他用户而言,这样做会引发奇怪的“未找到文件”。显然存在的文件的错误。 (显然,如果exe没有通过MSI“正式”安装,那么运行.net exe必须存在注册表设置,可能存在也可能不存在?)

有帮助吗?

解决方案

是的,一般情况下,除非您需要将组件安装到全局程序集缓存(GAC)中,否则您需要做的就是将文件复制到要运行它的计算机上的文件夹中。它,你需要做的就是双击.exe文件。

唯一需要注意的是机器必须安装正确的.net框架......

其他提示

根据建议,复制将是最简单的。

如果要创建非MSI安装程序,请查看 NSIS 。您还可以获得 NSIS论坛的大力支持。

我想知道为什么没有提到ClickOnce ...... 它是一种“轻量级”的产品。作为开发人员进行最少的工作安装(只需填写几个字段并在项目属性中按“发布”)并为用户提供便利。名称是座右铭:用户必须启动ClickOnce-Application并接受它的安装。 .NET Framework会将文件复制到特殊的ClickOnce-Cache,创建一些指向应用程序的链接(如果已启用),甚至可以轻松自动更新开箱即用。也可以检查预先要求,例如正确的.NET Framework或SQL Server。

您可以在维基百科中找到更多相关信息: http://en.wikipedia.org/wiki / ClickOnce的

我们使用Inno设置( http://www.innosetup.com/isinfo.php)。我对这个工具有最好的体验。它简单,轻便,自由,快速。

.Net应用程序通常不需要“安装”。您通常只需将文件系统中所需的文件放在文件系统上,并为用户提供启动它的快捷方式。

然而,在某些情况下,这是可取的。例如,如果要将程序集添加到GAC,则安装可以自动执行该程序集。如果是这种情况,您是否考虑过ClickOnce部署?它可能能够处理你需要的东西。

如果您只想更新应用程序(而不是安装新的快捷方式或诸如此类的东西),那么我只想制作一个WinRAR自解压文件。您可以在其中嵌入目标目录并指定安静的安装。

ByteEssence InstallMaker是另一个免费选项:

http://www.bytessence.com/bim.html

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top