2010-04-10 43 views
2

我想为WinForm程序发布一些更新,但至今我已经发布了一个全新的编译。人们必须卸载旧版本并安装新版本。正在发布WinForm程序更新

编辑:我正在使用自动生成的安装向导。它保留我的文件结构并将[PrimaryProgramOutput]放置在特定的目录中。我忘记了这叫做什么。

我敢打赌,有办法解决这个问题,但我不知道它叫什么。正如你可能猜到的那样,搜索“更新”“新版本”“安装”和我尝试过的其他显而易见的事情已经产生了令人印象深刻的无关结果。 > _ <

我怀疑这个过程有一个特定的名称,这应该指向正确的方向,但如果它不请链接到教程或其他东西。

+0

+1,我一直在寻找这个自己 – MPelletier 2010-04-10 19:52:30

+0

您正在使用哪种安装程序?我正在安装Inno Setup,并且要更新我的一个程序,只需安装新版本(执行新的“setup.exe”)即可。除非极少数情况下(例如,如果C:\ Program Files \ My App中的文件结构已在新版本中更改),否则不需要卸载以前的版本。 – 2010-04-10 19:53:36

+0

哦对。 我正在使用Windows Installer。我不记得它现在叫什么,也没有看到它写在我的代码中,但是安装程序会生成一个向导,将该程序安装到您选择的任何文件中。 我使用了一个目录系统,我选择这个来尽可能简单地保留这个结构。 – 2010-04-10 20:00:45

回答

3

我从您使用C#的标签中看到。 Visual Studio可以为这些类型的任务创建安装项目。安装项目als包含一个属性RemovePreviousVersion,如果安装的版本控制正确并且应用程序的GUID保持不变,则该属性将删除以前的版本。

请参阅此链接了解更多信息:
http://www.simple-talk.com/dotnet/visual-studio/updates-to-setup-projects/

+0

该链接的截图看起来就像我的安装程序,所以你必须在正确的轨道上。我将不得不通读该指南。感谢您的链接! – 2010-04-10 20:05:25

2

ClickOnce部署的大部分时间一个很好的解决方案......

您可以部署到网络,并当过用户启动应用程序将检查更新,并自动更新应用程序,如果有新的版本可用。

它也可以配置为不自动更新,但仅用于通知用户存在新版本并允许用户控制更新过程。

+0

我没有设置服务器,所以我不认为这会工作,但感谢您的信息。我将在“有些日子,我希望”下提交。 :) – 2010-04-10 20:07:25