Azure Clickonce发布

时间:2013-09-03 14:07:45

标签: wpf azure

我们正在开发一个WPF应用程序,我们希望将其作为智能客户端应用程序的一次点击发布。

我们可以使用Visual Studio 2012在本地计算机上发布应用程序,并在IIS中进行配置。

现在我们要将已发布的智能客户端安装程序上传到Windows Azure 2012和IIS 8的Windows Azure虚拟机。我们无法上传本地发布的组件,因为清单和部署文件中的URL配置是本地服务器的URL配置。我们尝试使用文本编辑器编辑条目,但是一旦我们进行编辑,文件就会变得未使用,当我们尝试从该位置安装时,它会显示xml解析错误。

我们尝试将应用程序直接发布到虚拟机,但它显示错误,因为IIS中需要使用Front Page Extension。我们尝试查找Front Page扩展,但在Windows Server 2012中找不到IIS 8的版本。

任何人都可以帮助我们在Azure虚拟机中发布应用程序。

2 个答案:

答案 0 :(得分:2)

您遇到的问题与Azure本身无关。

在第一种情况下(编辑XML文件),您可以这样做,但最好使用MageUI进行编辑,因为您可以重新签名清单。如果您只是编辑文件,它会破坏它们的安全性,它们将无法工作(如您所见)。如果你想用文本编辑器编辑它们,你可以这样做,但是你必须重新签名它们(使用mage);您可以创建一个脚本来更改安装URL。

或者您可以使用MageUI。您需要按此顺序执行此操作:

  1. 打开版本化文件夹中的应用程序清单,然后保存,使用签名证书重新签名。
  2. 在顶部部署文件夹中打开部署清单(yourapp.application)。将“开始”文件夹更改为正确的安装URL。转到“应用程序参考”选项卡,然后在版本化文件夹中重新选择应用程序清单。 (我知道,它没有改变,但请相信我,你必须这样做。)保存这个清单并用你的签名证书签名。
  3. 将部署清单从顶部文件夹复制到版本化文件夹。保留副本总是好的,所以如果需要,你可以向后退一个版本。
  4. 现在您可以将文件复制到您的VM,它们将正常工作。

    在第二种情况下,如果您使用HTTP发布应用程序,则需要Front Page Extensions,但它们不再可用于Windows Server 2008(?)。所以不要使用HTTP。使用FTP。使用FTP设置发布文件位置,如ftp://myserver.mycompany.com/myfolder,并将安装URL设置为与其等效的HTTP。然后发布它。它会将文件放在您的VM上(假设两侧都启用了FTP),HTTP链接应该可以正常工作。

    顺便说一句,您还可以在Azure blob存储中托管您的部署。它很便宜,您可以使用Cerebrata Cloud Storage Studio之类的东西,甚至可以编写自己的代码来发布它(我做过)。 This article解释了如何将文件放在那里,MIME类型需要什么,等等。如果你这样做,那么即使你需要更换你的VM或重新部署它或者VM变得不可用,它也会工作某种原因。

答案 1 :(得分:0)

这里是对Avkash Chauhan的博客文章的引用,详细解释如何使用Windows Azure存储以非常简单的步骤部署ClickOnce应用程序?

http://blogs.msdn.com/b/avkashchauhan/archive/2011/05/09/how-to-deploy-clickonce-application-using-windows-azure-storage-in-very-simple-steps.aspx

他还提供了一个Windows窗体的代码示例(使用Wpf),他展示了如何使用单击部署在azure上进行部署。

希望这会有所帮助