本文引用了大量白色底的图片,您可以在右下角将网站切换为暗色模式,以获得更好的浏览体验。
Hexohub现已上架Microsoft Store应用商店,您可以选择从该渠道安装Hexohub,以获得更好的更新体验。该版本与Github发布的版本相互独立,互不影响。请注意,由于微软的审核机制,微软商店中的版本通常会落后于Github发行版若干版本,如果您追求稳定,可以选择商店中的版本,如果您想即时体验新功能,请到Github使用最新发行版。
微软商店Github发行版
从今年6月份开始,微软取消了商店个人开发者的认证费用,可以对msix和pwa格式的发行文件进行免费的签名。在@Soulxyz的建议下,花了将近一个月的时间,将Hexohub发布在了微软应用商店,下面我会详细记录发布过程。(没错,当鸽子的这一段时间干这个去了,一边和生活对线,一边和微软对线)
申请账号
首先到微软商店开发平台注册账号。在该页面点击“开始使用”:
随后进入以下界面,选择“个人开发者”,然后根据提示完成注册流程:
过一阵子,一般是几天,就能收到微软发的邮件,如果收到类似下面的邮件,说明申请开发者账号成功:
填写表单
完成注册后,回到微软商店开发平台,点击“加入Store FastTrack计划”:
随后根据自身情况,填写表单:
创建应用
完成上述步骤之后,打开微软合作伙伴中心,选择“应用和游戏”:
进入以下界面,点击“+”号,选择“PWA或MSIX应用”,即可开始发布应用程序:
在随后出现的窗口中,根据应用情况如实填写。
点击应用程序名称,即可对程序情况进行查看/修改:
程序包
如下图所示,红色框内的信息是将应用发布到应用市场的必须项,在完成了如定价和可用性、属性、未更改、年龄分级等信息后,到了最关键的一步:上传msix可执行文件
在此之前,请确保将自己的应用程序封装为MSI格式或是PWA格式,对于不同的软件架构,构建方式有所不同,比如我的是tauri框架的软件。那么封装命令和配置大致如下:
1 | npm run tauri:build |
对于配置文件:
1 | { |
更多关于tauri的封装细节,参考官方文档
格式转换
下载官方的MSIX Packaging Tool,此软件将用于把MSI转换为MSIX:
安装选项全部选择默认即可,他会自动检查电脑上的构建路径,如果有问题显示安装失败,检查网络连接(使用魔法)然后重启电脑一般就能解决。进来之后选择第一个“创建你的应用包”:
选择“在此计算机上创建”:
确认驱动为已安装状态,点击下一步:
随后点击浏览,找到之前封装好的MSI文件,选择不对程序进行签名:
随后在“程序包信息”内,填入信息,相关的信息在上述的微软合作伙伴中心中:
接下来的步骤默认即可,等待程序转换完成,得到一个MSIX文件,返回微软合作伙伴中心界面。将这个文件上传到“程序包”:
微软会立即对该程序包进行安全性检查,对于一些可疑的、未声明的、不安全的权限/功能,微软会要求你提供相关详细的描述(也就是你的程序为什么要使用这个权限/功能)。比方说,如果你也是用tauri框架构建的软件,然后使用工具转换为了MSIX,那么在上传程序包之后,大概率会遇到这个runFulTrust的警告,去网上搜一下这个权限是什么(当然了,问AI最方便),将其填入该权限描述即可。
语言问题
在合作伙伴界面,可以查看当前应用支持的语言,但是微软在这里设计的相当狗屎
,居然只能从程序包里检测,不能手动修改,所以如果在构建阶段没有配置好的话,那么很大概率微软只会给你一个默认的“支持英文”,即使你的程序里有多种语言支持。
在这一步折腾了相当久,最后还是@Soulxyz找到了解决方法。首先打开之前安装的微软程序包工具,选择程序包编辑器:
打开有语言问题的MSIX文件,然后下拉,找到清单文件。点击打开文件:
随后会自动打开一个文本文件,找到这行:
默认应该只有一个Resource Language="en-us",我们仿照这个格式,往下列出我们程序支持的语言,比如中文。格式应该为:
1 | <Resource Language="en-us"/> |
随后保存文件,回到微软程序包工具,点击保存。再将保存之后的MSIX文件上传到合作伙伴中心,就能识别到支持的语言了。
发布应用
一切准备就绪后,在合作伙伴中心界面点击提交认证,即可开始发布应用:
提交后,会陆续看到以下界面,一般是3-5个工作日:
至此,我们就将自己的应用程序发布在Microdoft Store上了。
后记
关于Hexohub
上架之后,身边有朋友问我,为什么不是付费的软件?我认为,很多事情只要和金钱扯上关系,那就会失去其原本的“味道”。Hexohub的初是:一个免费、开源的程序,旨在提供更好的博客体验,所以我上架微软商店的目的很简单,拓宽用户渠道,为更多有需要的人提供便利。
另一方面,在我之前学习过程中,从各种开源社区中受益匪浅,完全是无条件、无成本的获取知识,现在,是时候为开源做出自己的贡献了,开源万岁!
本项目使用的是MIT开源协议,这意味着任何人都可以随心所欲地使用遵循该协议的代码(包括但不限于免费使用、复制、修改、合并、出版发行、再授权),唯一的条件是保留原作者的署名,所以你可以使用开源代码,定制自己喜欢的功能,然后发布它,收获自己的用户群体,COOL!。
如果你有好的想法,欢迎提交自己设计的版本,我将很乐意为你创建一个独立的分支!
关于微软商店
说实话,我觉得微软商店真的是相当失败的产品,一手好牌打的稀烂:一个拥有近乎垄断地位的操作系统,其自带的应用商店却未能取得同等的成功,我们可以观察一下,现在电脑上的应用有多少是来自Microsoft Store?这是一个很深刻的问题,有非常多的原因导致了这个现象,引用DEEPSEEK的总结:
微软商店的“失败”可以归结为:它试图在一个已经拥有极度自由、成熟和去中心化生态的系统中,建立一个中心化的“围墙花园”。 对于大多数Windows用户和开发者而言,他们已经习惯了这种自由,并没有强烈的动力去改变习惯,转而使用一个在早期阶段体验不佳、限制颇多的官方商店。
另外我还要吐槽一下微软商店的推流机制,无论什么时候打开,主界面永远是腾讯、OFFICE这些东西,看着就心烦:
总而言之,Microsoft Store想要达到Apple Store或者别的什么应用商店那样的地位,还有相当长的道路要走。
关于微软
上述的发布流程,看上去是相当简单,但却实打实的花了我将近一个月的时间,很大原因是因为微软一些莫名其妙的操作,我几乎每走一步就能踩一个坑。看上去微软商店开发者平台是为开发者提供了便利,实际上却让开发者花了很多不必要的时间,去处理一些无关紧要的东西。
举一个例子,我想登录一个之前的微软开发者账号,却陷入了一个双重验证的死循环:“我们已向您的手机Authentictor验证器发送了一个代码。输入该代码以使您登录”,但是很幽默的是,手机上登录Authentictor验证器同样需要该代码。不是哥们?
这就好比你忘记了邮箱的登录密码,然后你点击忘记密码,却提示修改密码的邮件已发送到你的邮箱。
一开始我以为是我的问题,直到去国外的讨论社区Reddit,铺天盖地的这方面的吐槽:
哈哈哈哈,释怀的气笑了,微软,看看你在干什么!!!
附录
附上几段我和另一个开发者的讨论:
参考
本文参考了以下网页/文章:
https://gezihuzi.github.io/2024/04/05/publish-tauri-app-to-ms-store.html
https://post.smzdm.com/p/ado6n98x/

Comments