在Azure上构建MSI



我在windows azure上有一个web项目。现在我试图添加客户端exe来监控服务器上的东西(类似于Windows托盘通知的TeamCity)这个安装程序的链接会在我的网站上。

我使用标准的windows azure网站。我使用git仓库部署我的项目。

所以问题是:我可以在Azure上构建标准设置项目吗?如果没有,我可以用什么来建立这样的项目?我是否将安装程序项目类型更改为WiX或类似的东西?

在Azure网站的上下文中,网站项目不是由MSBuild编译成可执行的。net代码,而是直接由ASP编译。. NET和IIS.

ASP。. NET使用所谓的BuildProviders将不同类型的文件构建成单个程序集,每个网站文件夹生成一个程序集。

自从ASP。. NET编译不是一个完整的MSBuild编译,您不能编译任何类型的项目或任何项目,否则将使用MSBuild进行编译。

理论上(但是,唉,只是理论上!)你可以实现你自己的类,它派生自BuildProvider类,生成源代码,并在你的web.config中引用它。净编译。但即使在这种情况下,您也不能完全控制编译的目标。相反,提供程序生成的源代码将在动态链接的库中编译,并且没有办法(至少在我看来)将安装程序作为编译器输出。

所以,我建议你在你的解决方案中添加一个自定义安装程序项目,在本地构建安装程序(如果你喜欢,可以使用标准的VS安装项目或WiX),并在GIT部署之前将新构建的安装程序与其他文件一起复制到你的部署文件夹中。

最新更新