覆盖以前安装的.NET winforms应用程序

覆盖以前安装的.NET winforms应用程序,.net,vb.net,winforms,.net,Vb.net,Winforms,对不起,如果以前有人问过这个问题,我已经搜索过了,但找不到答案。我已经创建了一个WinForms VB.NET应用程序,并使用Visual Studio发布工具将一个服务器部署到该应用程序中。在服务器上,它会自动安装到此目录: “C:\Documents and Settings\Administrator\Local 设置\Apps\2.0\C8TQL85O.NPG\WDKBJDPD.HQO\expi..tion_550653a49cafdf54_0001.0000_dd22cceef4d5b

对不起,如果以前有人问过这个问题,我已经搜索过了,但找不到答案。我已经创建了一个WinForms VB.NET应用程序,并使用Visual Studio发布工具将一个服务器部署到该应用程序中。在服务器上,它会自动安装到此目录:

“C:\Documents and Settings\Administrator\Local 设置\Apps\2.0\C8TQL85O.NPG\WDKBJDPD.HQO\expi..tion_550653a49cafdf54_0001.0000_dd22cceef4d5bb47\MyReport.exe“

今天我对应用程序做了一些更改,并再次部署了它。在服务器上安装时,它会自动安装在以下目录中:

“C:\Documents and Settings\Administrator\Local 设置\Apps\2.0\C8TQL85O.NPG\WDKBJDPD.HQO\expi..tion_550653a49ca0b3f4_0001.0000_dd22cceea4d5cc47\MyReport.exe“

一开始我没有看到,但第二个目录与第一个目录略有不同。 我现在是否无意中安装了一个重复的应用程序,所以两个版本都已安装

如果是,我如何让应用程序安装例程覆盖以前的版本

此外,我还使用Windows任务计划程序启动.EXE,这意味着我需要不断更新它以匹配目录。是否可以安装到保持不变的特定目录中


谢谢。

如果你要发布到一个网络驱动器,这个应用程序将从那里安装,它实际上没有那么硬

  • 使用发布向导:生成菜单->发布“此处的项目名称”

  • 选择应用程序文件所在的网络驱动器路径 出版给

  • 在以下菜单上,选择“从UNC路径或文件共享”,并选择与上一屏幕相同的路径

  • 接下来,根据项目的使用情况,您将选择应用程序脱机首选项。我通常选择“是”。单击“下一步”,然后单击“完成”


当用户从UNC路径安装应用程序时,他们将在“开始”菜单中获得一个图标(如果您在脱机首选项中选择“是”)他们可以从那里运行它。exe本身将驻留在一个文件夹中,就像您所问的Windows scheduler可以针对的文件夹一样,但您必须找到它。

您希望您的应用程序得到更新吗?例如,您第一次安装它,当您重新发布时,它会下载新版本?是的,我想是的在就可以了。你能给我一些关于如何做到这一点的建议吗?谢谢。但是开发机器和live(web)服务器不是通过网络连接的。我可以通过FTP访问web服务器目录,所以应该能够在发布向导中发布到FTP来解决这个问题。在下一步,““用户将如何安装此应用程序?”在UNC路径字段中,我是否输入服务器的目录,因为此时无法从开发计算机访问此路径?谢谢。您需要从网站指定(应用程序的“http://webserver/AppFolder/”)这样,您就可以链接到web服务器上的安装包,让人们安装它,并让它在该位置检查更新。我昨天花了很多时间对此进行了试验。即使指定了更新路径,.NET也会在新目录中安装应用程序,以便它可以在需要时回滚版本。要完全替换现有的应用程序您必须使用随VS2012打包的InstallWise LE,而不是ClickOnce部署方法(尽管由于某些原因,我的VS中没有它)。据其他开发人员介绍,这带来了一系列新问题,尤其是升级软件。因此,事实上,仅为了节省我更新日程任务程序位置的时间,就需要做大量工作。总之,我从您的帖子中学到了很多,所以感谢您的帮助。:-)