从浏览器标签页到微软商店

《404号房间》从 2026 年 9 月 23 日起可以在 Microsoft Store 安装,免费,发行主体 alphaBETA DEV,产品编号 9NKW0PHF7LQH。
商店地址:https://apps.microsoft.com/store/detail/9NKW0PHF7LQH?cid=DevShareMCLPCS
它没有重写成一版原生程序。你在商店里装到的,还是那个跑在 room404.gamestrategists.com 上的游戏——只是被包成了一个 MSIX,并且拿到了 Windows 的应用身份:开始菜单里能搜到、能固定到任务栏、断网也能打开。
这篇把整条路径记下来,包括几个我踩过、但官方文档写得很轻的地方。文末的复测数字是 2026-10-19 重新量的,不是九月的旧数。
这些数字怎么来的:2026-10-19 当天,我从微软商店商品页和游戏标题页各截了图,并对照商店在架信息逐条核对;离线缓存的体积是按应用实际离线能加载的内容估算的。文末的复测数字都是这一天重新量的,不是九月的旧数。

一、微软不会替你打包
最常见的误解是"提交一个网址,微软帮你做成应用"。实际是三步,顺序不能换:
- Partner Center 预约产品名,拿到 Package ID、Publisher ID、Publisher display name 三个值;
- PWABuilder 用你的 PWA 地址生成包,下载 zip,里面是
.msixbundle和.classic.appxbundle(外加一个签名脚本——商店提交不需要自己签名,微软在服务端签,跳过即可); - 回 Partner Center 把两个 bundle 都传上去,填商店信息,送审。
产品名是全局唯一的,不是"你这个账号下唯一"。所以先预约再干活,否则做到最后一步发现名字被占了,前面填的全要重来。
送审等了 24 小时左右出结果。
二、manifest 会被固化进包里,这是最贵的一条
MSIX 包把 web manifest 的内容烧死在产物里。这意味着:
- 以后只要改已安装应用的清单——图标、名称、显示方向、加快捷方式——必须重新打包再提交一次;
- 只改 HTML / CSS / JS / service worker 则不用,用户下次启动自动拿到新版。
所以提交前值得把 manifest 当成一个"发布冻结点"来审一遍,而不是随手改。
三、orientation: portrait 会把桌面版直接做废
原站的 manifest 里写的是 orientation: "portrait"。在手机上当竖屏小游戏很合理,但一进 Windows,它会把应用窗口锁成竖屏——桌面端基本不可用。
改成「任意方向」,并补了一个稳定的安装标识。它决定 Windows 怎么识别这个应用:没有它,将来你改名字或换图标,Windows 可能把它当成一个新应用,老用户的安装就断了。这两处改动也写进了商店版本说明,现在页面上那句 "What's new in this version" 就是它们:「Window orientation unlocked for desktop use; stable install identity added so updates keep your saved progress.」
这两项都得在生成 MSIX 之前改,改完重新打包。如果先打包了再改,就得整个流程走第二遍。
2026-10-19 复测:后来上架的两款(《小齐赢赢赢》《大金减肥GoGoGo》)线上同样是「任意方向」加稳定安装标识,说明这一修法已经固化成模板,不是每次重新想一遍。
四、离线能打开,但图片是空的
打包前用真实浏览器实测过断网:刷新后正文正常渲染。当时量的数是预缓存 16 项 / 684 KB。
2026-10-19 重新量了一遍离线缓存:20 条声明、19 个唯一条目(清单里有一样东西被列了两次),按实际加载内容估算约 1,574 KB。涨出来的主要是后来加的资产:主 JS 包 596 KB、CSS 88 KB、三枚 PWA 图标合计 797 KB、四枚微软商店官方徽章 SVG 合计 96 KB。
要说清楚的是:离线覆盖的是壳,不是全部资源。应用会把脚本、样式、页面骨架和一部分图标先存好,但图片是第一次打开时才去网上取的(最多缓存 60 张、保留 30 天),所以第一次断网打开时,配图位置是空的。正文靠页面骨架兜底,所以照样能渲染。
要更稳,得把图片也纳入离线缓存,代价是包体和首次安装体积再涨几 MB。目前的选择是接受"断网可玩,但缺配图",因为游戏的解谜主体是文本、音频和交互状态,缺图不影响通关。
商店审核偶尔会测离线,这条是已知的残留风险,离真正稳妥还差一步。
五、商店页现在实际写着什么
九月提交时填的是草稿,页面上落定成什么样,得以页面为准。2026-10-19 从商店页读到的:
| 字段 | 页面上的值 |
|---|---|
| 产品名称 | Room 404 |
| 发行主体 | alphaBETA DEV |
| Release date | 9/23/2026 |
| Approximate size | 9.4 MB |
| Category | Simulation |
| Supported languages | Chinese (Simplified)、English |
| 年龄分级 | ESRB TEEN,描述符 Violence |
| Seizure warning | Photosensitive seizure warning |
| Ratings and reviews | "There aren't any reviews yet." |
| Installation | 登录微软账号后可装到最多十台 Windows 设备 |

三处和我们的预期不一样,如实记下:
- 类别落成了 Simulation。 提交表里主类别我们按建议选的是 Games → Adventure,页面上显示的是 Simulation。这条不影响可发现性到值得动手的程度,但它说明"你填的"和"页面显示的"是两件事,复核要看页面。
- 分级给到 ESRB TEEN(附 Violence 描述符)。 我们按 12+ 准备问卷。游戏里没有写实暴力画面,但有一处涉及房客失踪的叙述性描写,评级的判定不由我们解释——记下来,别在站内写成"全年龄"。
- 截图区对未登录访客是年龄门。 页面上那块显示 "Sign in to view this content / We need to verify your age to ensure this content is age-appropriate."。也就是说我们上传的 9 张真实游戏截图,未登录的网页端访客看不到。要改只能调分级或商店侧设置,不是文案能解决的——这条也记着。
六、商店文案里的"8 幕"和游戏能玩到的"6 幕"
2026-10-26 补记:主站介绍面已把"8 幕"改成重算后的 6 幕;商店 listing 的文案仍待改。
商店列表的 Features 三条是:10 simulated websites / Eight acts and four different endings / 21 pieces of evidence to find and connect。按 2026-10-26 的游戏数据复算:网站 10 个,对;结局 4 种,对;线索现在是 18 条,listing 还写着 21;幕是 6 幕,listing 还写着 Eight acts。
原因是游戏里虽然留着 8 条幕的数据,但章节推进封顶在第 5 号幕:你收集到 10 条线索,章节进度就停在 5,后面的幕选择项一直是灰的、点不动。所以玩家实际走到的是 6 幕(第 0 到第 5),另外两幕的数据还在,但进不去。
主站的介绍面用的是重算出来的"6 幕":游戏里要推进到第六章才算走到终局,这个边界一旦改成 5 幕或 7 幕,这一页和主站介绍面都得重新推导、一起改。商店那条 listing 还没改,因为它要重新提交一次商店信息(不是重新打包,manifest 没动)。要么放开推进、要么把文案改成 6 幕,这个决定我记在待办里,不改口也不假装一致。
七、IARC 分级:填了就不能乱改
上架要走 IARC 内容分级问卷。Room 404 走的是 IARC 内容分级,分级日期 2026-09-18,登记产品名为 Room 404。
两个约束值得单独说:
- IARC 分级只能用于已经获得 IARC 授权的数字商店(微软是)。不能拿这个分级去贴实体产品,也不能用在未授权的商店上。
- 后续如果内容变化到需要重新评级的程度(比如加了改变内容性质的 DLC 或新章节),问卷要重填。对一款还在更新章节的叙事游戏,这条要记在预算里,不是"上架就完事"。
八、广告这件事要说准
九月那版我写的是"网页版挂了 AdSense"。今天要把这句说精确,因为它同时关系商店问卷和站内声明:
- 页面里确实加载了 AdSense 的自动广告脚本;
- 但显式广告位组件的开关是关的——那个组件里写死了不投放,因为账号还没通过审核,开着只会留一个空框;
- 账号目前的状态是未获批,实测没有广告填充。
也就是说:现在玩家看到的《404号房间》里没有广告在跑。但商店问卷问的是"应用是否含第三方广告",脚本与投放意图都在,我们按"是"如实勾选,没有为了问卷好看去改页面。将来账号获批、广告真的开始投放时,商店列表的隐私与广告声明要同步更新一次。
九、装完之后能拿到什么
- 开始菜单可搜索、可固定任务栏;
- 断网可打开(配图除外,见第四节);
- 一个微软账号最多可装到十台 Windows 设备;
- 进度依然存在本机,和网页版是同一套 localStorage 语义,不是云存档,换设备不会带过去。
最后这条值得提前说清楚,因为"装了个应用"很容易让人期待账号同步。目前没有,也不打算靠它换留存。

徽章用的是微软官方生成的那两张 SVG(中英各一、深浅各一),不是自己画的图;位置紧跟主按钮,因为竖屏卡片放不下两屏,放在宣传文案后面等于看不见。
十、这条路径已经被复用过两次
《404号房间》之后,《小齐赢赢赢》在 2026-10-08、《大金减肥GoGoGo》在 2026-10-10 走同一条 PWA → MSIX 路线上架。复用下来的经验是:打包本身不是成本,素材和问卷才是——每款要重拍的 1920×1080 真实截图、要重填的 IARC 问卷、要单独核对的 manifest,这三样一样都省不掉;而 PWABuilder 那一步是同一套操作。
其余原创 ARG(午夜电台、潮声档案、沉没之城、锈河镇、深渊之眼、深渊信使、最后在线、无人认领)manifest 与 service worker 结构一致,可以照同一条路径排队上架——已经验证可行,不是猜测。
想直接在浏览器里玩,地址没变:https://room404.gamestrategists.com/
变更记录
- 2026-10-19:补三张 2026-10-19 实截(商店页头、商店详情页、游戏标题页官方徽章)。把九月的离线数字换成今天复测的 19 项 / 约 1,574 KB,并写清测量方法;更正离线缓存的说明(缓存范围扩大到字体与清单类资源)与图片的运行时缓存路由。新增第五节(商店页实际落成的类别 Simulation、ESRB TEEN + Violence、零评论、截图区年龄门)、第六节(商店文案"8 幕"与玩家实际能走到的 6 幕不一致,主站介绍面用重算值、listing 待改)、第八节把"挂了 AdSense"改写成脚本在、显式位关闭、账号未获批、问卷仍按含广告如实声明。第十节从"其余六款会走同一条路"更新为已被两款复用过。
- 2026-09-24:首次发布。