如何创建Azure站点发布ClickOnce,供用户下载WPF应用?
部署公开可访问的ClickOnce WPF应用(用Azure就能搞定)
完全可以用Azure来搭建公开可访问的ClickOnce发布站点,下面是具体操作步骤:
一、先搞定ClickOnce的发布文件
在Visual Studio里配置好WPF应用的ClickOnce发布,目标选「网站」,生成对应的发布包——里面会有.application、.deploy格式的文件,还有setup.exe和publish.htm这些东西,把整个发布目录的内容都留好。
二、用Azure部署公开站点(两种常用方法)
方法1:Azure静态Web Apps(简单又便宜,推荐)
- 登录Azure门户,新建「静态Web Apps」资源:
- 选好自己的订阅和资源组,填个名称,托管计划选免费层就行,足够测试用。
- 部署来源选「本地文件」,直接上传刚才生成的ClickOnce发布文件;要是你的发布文件存在GitHub/GitLab里,也可以关联仓库自动部署。
- 上传文件:创建完之后,进「部署中心」点「上传」,把发布目录里的所有文件都传上去。
- 配置MIME类型(避免文件识别错误):在根目录新建
staticwebapp.config.json文件,内容如下:{ "mimeTypes": { ".application": "application/x-ms-application", ".deploy": "application/octet-stream", ".manifest": "application/x-ms-manifest" } } - 拿公开访问地址:静态Web Apps会自动分配一个
*.azurestaticapps.net的域名,这个地址所有人都能访问。用户直接打开这个域名下的publish.htm,点安装就能下载应用;或者直接访问.application文件也能启动安装。
方法2:Azure App Service(适合需要后端功能的场景)
- 新建「App Service」资源:选Windows操作系统(ClickOnce的MIME配置更顺手),托管计划按需选,测试的话用免费层也行。
- 上传发布文件:可以用App Service的「高级工具(Kudu)」上传,或者直接用Visual Studio把发布文件部署到App Service里。
- 配置MIME类型:进App Service的「配置」→「MIME类型」,添加三个类型:
- 扩展名
.application,对应MIME类型application/x-ms-application - 扩展名
.deploy,对应application/octet-stream - 扩展名
.manifest,对应application/x-ms-manifest
- 扩展名
- 公开访问:App Service默认有个
*.azurewebsites.net的域名,公开可访问,用户访问这个域名下的publish.htm就能安装应用。
三、验证一下
部署完之后,直接在浏览器里打开站点的publish.htm,点「安装」试试,确认应用能正常下载安装就行。要是想用自己的域名,在Azure对应的资源里配置自定义域名绑定就好。
内容的提问来源于stack exchange,提问作者AnonymousKKYY
相关产品推荐
相关产品推荐

