关于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 调度程序定位的问题中的那个文件夹,但您必须去找到它。

  • 谢谢。然而,开发机器和实时(Web)服务器没有通过网络连接。我可以通过 FTP 访问 Web 服务器目录,因此应该能够在发布向导中发布到 FTP 以解决此问题。在下一步中,”用户将如何安装此应用程序”在 UNC 路径字段中,我是否输入服务器的目录,因为此时无法从开发机器访问此路径?谢谢。
  • 您可能希望从网站(应用程序的”http://webserver/AppFolder/”)指定,以便您可以链接到 Web 服务器上的安装包,让人们安装它,并让它检查更新在那个位置。
  • 我昨天花了很多时间试验这个。即使指定了更新路径,.NET 也会将应用程序安装在新目录中,以便在需要时回滚版本。
  • 要完全替换现有应用程序,您必须使用与 VS2012 一起打包的 InstallWise LE,而不是 ClickOnce 部署方法(尽管出于某种原因,我的 VS 中没有它)。根据其他开发人员的说法,出现了一系列新问题,其中最重要的是它显然是升级软件。所以实际上,仅仅为了让我更新我的计划任务程序位置就需要做很多工作。无论如何,我从你的帖子中学到了很多东西,所以谢谢你帮助我。 :-)


来源:https://www.codenong.com/13362201/

微信公众号
手机浏览(小程序)
0
分享到:
没有账号? 忘记密码?