关于vb.net:覆盖之前安装的.NET winforms app

Overwriting previously installed .NET winforms app

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

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

今天我对应用程序进行了一些更改,并再次部署了它。在我安装它的服务器上,它自动安装在这个目录中:

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

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

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

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

谢谢。


如果您要发布到安装此应用程序的网络驱动器,实际上并不难。

  • 使用发布向导:Build Menu -> Publish"Project Name Here"

  • 选择应用程序文件所在的网络驱动器路径
    发布到

  • 在以下菜单中,选择"来自 UNC 路径或文件共享,并选择与前一屏幕相同的路径。

  • 接下来,根据您的项目用途,您将选择应用程序的离线首选项。我通常选择是。单击下一步,然后完成。

当用户从 UNC 路径安装应用程序时,他们会在开始菜单中看到一个图标(如果您在离线首选项上选择了"是"),他们可以从那里运行它。 exe 本身将位于一个文件夹中,就像您可以使用 Windows 调度程序定位的问题中的那个文件夹,但您必须去找到它。