我编写了一个winforms应用程序,它被部署为setup / msi安装。不使用ClickOnce部署的主要原因是:
目前,该应用程序使用“一个.exe来统治它们”。本质上,安装后的“程序文件”目录包含.exe,.ico和.config文件。
我正在尝试在MSDN上遵循此建议/教程,以便我可以拥有更新机制: http://msdn.microsoft.com/en-us/library/aa367564.aspx
我觉得拥有单个.exe不一定是最好的方法。我想知道在创建.dll库和将我的应用程序类放在项目中的.cs文件时是否存在“经验法则”?
更新是否可以像替换.dll文件而不是.exe?
一样简单答案 0 :(得分:2)
总的来说,我同意The Great White North给出的答案,重申一下:
我的另一个强烈建议是,您不要在Windows Installer安装程序包(即VS部署项目生成的内容)和所谓的“xcopy部署”之间混合搭配(即复制需要去的程序集) )。如果您“xcopy”更新由Windows Installer程序包安装的文件,Windows Installer可能会尝试为您“修复它”。
据说可以创建Windows Installer“补丁”,它只包含/更新已更改的文件,但我从来没有充分的理由尝试使其工作。无论如何,我相当确定这超出了VS部署项目的能力。
答案 1 :(得分:0)
一般来说,我所遵循的“经验法则”是根据功能将解决方案分解为项目。这有助于测试等。
在更新方面,似乎来自this article on MSDN的“应用程序 - 私人程序集”部分,是的,您可以将应用程序的新dll删除到其文件夹中并完成“更新”它就像这一点。