我有一个.Net程序,我想在终端服务器上安装。在过去,我已经创建了安装程序项目并生成了一个MSI。但是,终端服务器要求在运行MSI之前将所有用户都关闭,我想避免这种情况。有没有办法在没有MSI的情况下进行安装?
有时对于某些用户帐户,我只需复制.exe并使用它。但对于其他用户而言,这样做会为显然存在的文件引发奇怪的“文件未找到”错误。 (显然有一些注册表设置必须存在才能运行.net exe,如果exe没有通过MSI“正式”安装,可能存在也可能不存在?)
答案 0 :(得分:8)
是的,一般情况下,除非您需要将组件安装到全局程序集缓存(GAC)中,否则您需要做的就是将文件复制到要运行它的计算机上的文件夹中。它,你需要做的就是双击.exe文件。
唯一需要注意的是机器必须安装正确的.net框架......
答案 1 :(得分:2)
根据建议,复制将是最简单的。
如果要创建非MSI安装程序,请查看NSIS。您还可以在the NSIS forum上获得很好的支持。
答案 2 :(得分:2)
我想知道为什么没有提到ClickOnce ...... 这是一个“轻量级”安装,作为开发人员只需要做很少的工作(只需填写几个字段并在项目属性中按“发布”)并为用户提供便利。名称是座右铭:用户必须启动ClickOnce-Application并接受它的安装。 .NET Framework会将文件复制到特殊的ClickOnce-Cache,创建一些指向应用程序的链接(如果已启用),甚至可以轻松自动更新开箱即用。也可以检查预先要求,例如正确的.NET Framework或SQL Server。
您可以在维基百科中找到有关它的更多信息:http://en.wikipedia.org/wiki/ClickOnce
答案 3 :(得分:1)
.Net应用程序通常不需要“安装”。您通常只需将文件系统中所需的文件放在文件系统上,并为用户提供启动它的快捷方式。
然而,在某些情况下,这是可取的。例如,如果要将程序集添加到GAC,则安装可以自动执行该程序集。如果是这种情况,您是否考虑过ClickOnce部署?它可能能够处理你需要的东西。
答案 4 :(得分:1)
我们使用Inno Setup(http://www.innosetup.com/isinfo.php)。我对这个工具有最好的体验。它简单,轻便,自由,快速。
答案 5 :(得分:0)
如果您只想更新应用程序(而不是安装新的快捷方式或诸如此类的东西),那么我只想制作一个WinRAR自解压文件。您可以在其中嵌入目标目录并指定安静的安装。
答案 6 :(得分:0)
ByteEssence InstallMaker是另一个免费选项: