2008-11-13 58 views
0

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

有时候对于一些用户帐户,我可以简单地复制.exe和使用它。但是对于其他用户而言,这样做会对明显存在的文件引发“文件未找到”错误。 (显然有一些注册表设置必须存在才能运行.net exe文件,如果exe文件没有通过MSI“正式”安装,可能存在或不存在)

回答

8

是,在一般情况下,除非你需要一个组件安装到全局程序集缓存(GAC),所有你需要做的就是将文件复制到一个文件夹在电脑上你想上运行它。要运行它,你需要做的只是双击.exe文件。

唯一需要注意的是,该机拥有已经安装了正确的.NET Framework ...

1

.net应用程序通常不会需要“安装”。通常你只需要将你需要的文件放在文件系统的某个地方,并为你的用户提供一个启动它的快捷方式。

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

+0

值得一提的是,有你需要安装到相对较少的原因GAC,除非您知道您为特定目的而做,否则您可能不会。 – 2011-08-27 08:00:21

2

至于建议,复制是最简单的。

如果你想创建一个非MSI安装程序,检查NSIS。您也可以在the NSIS forum上获得很大的支持。

0

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

2

我不知道为什么ClickOnce没有被提到...... 这是一个“轻量级”的安装,只需很少的工作就可以做开发人员(只需填写几个字段并按下项目属性中的“发布”),并使事情变得简单为用户。名称是座右铭:用户必须启动ClickOnce-Application并接受它的安装。 .NET框架将文件复制到一个特殊的ClickOnce缓存,创建一些链接到应用程序(如果启用),甚至允许容易的自动更新开箱即用。预先要求也可以被检查,例如,正确的.NET Framework或SQL Server。

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

相关问题