我有一个ClickOnce应用程序,需要从几个URLs进行设置。例如,我需要从以下URL安装它:

http://mycompany.com//url1
http://mycompany.com//url2


我基于从url1的安装进行发布(发布向导->第二页->从Web指定URL:url1),但是当我尝试将其复制到url2时,它仍然显示为url1

为此,我将安装文件夹URL设置为

http://mycompany.com//url1


并选中“排除部署提供程序URL”并将该应用程序发布到我的PC上的目录中,然后将其复制到服务器上。

url2上的index.html开始安装时,如何强制它使用url2

编辑1

我做了几次测试,看看为什么会发生这种情况。

发布向导将创建一个名为index.htm的HTML文件。

在此HTML文件中,有一个引用setup.exe的按钮。当该应用程序运行时,它将从url1查找.application。我检查了一下,在HTML文件中没有对url1的引用,但是setup.exe从url1中查看.application。

如果我从url1删除所有文件,但是所有文件都存在于url2上,则应用程序安装将失败,并显示一条错误消息,即找不到http:\ mycompany.com \ url1 \ myapplication.application。

如果我创建该应用程序的新版本并将其上传到url1,然后转到url2并尝试安装它,则将安装较新的应用程序,但不会发生更新。

我的设置是:

Options:
  Deployment
      Automatically generate deployment... Set
      Open deployment web                  Set
      Use .dep file ex                     Not set
      For CD installation, aut             Set
      Verify files uploaded to a web sever Not set
 Manifests
      Block application from               Not set
      Allow URL parameters to pass         Not set
      Use application manifest for trust   Not set
      Exclude deployment provider URL      Set
      Create desktop shortcut              Set
Publish location
        publish/
Installation folder URL
        http://MyCompany.com/url1
This application is available offline      Set

Publish wizard
     How the user install the application:
      From a web site URL =url1
      Yes this application is available online and off line set.

最佳答案

真的很奇怪-请确保您确实删除了两个URL中的所有内容。使用“排除部署提供程序URL”选项生成ClickOnce部署文件后,在<>。application文件中没有提及安装URL-因此,从我的角度来看,有两种可能的情况:


您将错误的(旧)部署文件复制到URL2文件夹中(或未覆盖它们)。
您正在使用您的应用进行手动更新,其中URL1硬编码在某处。


在我的情况下,完全相同的方案可以正常工作-多个URL-多个安装。

09-06 16:03