我们正在开发一个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虚拟机中发布应用程序。
答案 0 :(得分:2)
您遇到的问题与Azure本身无关。
在第一种情况下(编辑XML文件),您可以这样做,但最好使用MageUI进行编辑,因为您可以重新签名清单。如果您只是编辑文件,它会破坏它们的安全性,它们将无法工作(如您所见)。如果你想用文本编辑器编辑它们,你可以这样做,但是你必须重新签名它们(使用mage);您可以创建一个脚本来更改安装URL。
或者您可以使用MageUI。您需要按此顺序执行此操作:
现在您可以将文件复制到您的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应用程序?
他还提供了一个Windows窗体的代码示例(使用Wpf),他展示了如何使用单击部署在azure上进行部署。
希望这会有所帮助