如何禁止Drawboard自动更新
🎎如何禁止Drawboard自动更新
特殊技巧|2023-4-23|Last edited: 2024-2-19
type
status
date
slug
summary
tags
category
icon
password
How to disable automatic updates for Drawboard
 
大家好,虽然u/Fly_Virtual提供了一种方法,可以让我们下载到旧版的drawboard,但是这种方法无法很好的阻止自动更新,这里介绍一种在中文平台上流传的方法(并不是针对Drawboard的,但是这种方法是通用的),以从根源上阻止其自动更新。
关键点在于需要改包来阻止商店自动更新(甚至商店版和旧版本共存)
根据u/Fly_Virtual的方法下载Drawboard的appxbundle,直接安装的话跟从商店安装是一样的,也会收到商店的更新。
我们用7zip打开它,能看到分别有ARM、x64、x86三个架构的程序包,根据设备的架构选择对应的包,然后继续双击用7zip打开,一般来说,Surface 只需要选择 x64,而Surface Pro X 需要选择 arm
notion image
这就是app的所有文件了,将除了[Content_Types].xml、AppxMetaData和AppxSignature.p7x之外的文件解压到一个地方
notion image
解压出来之后应该是这样的
notion image
用文本编辑器打开AppxManifest.xml,看到前几行
notion image
Identity Name那里就是App的标识名,把它改掉就可以实现共存
Publisher是应用开发者的名字,如果重新打包的话就要改成与你的证书对应的名字,不然打包后没法签名。不打包就可以随便改,我这里改成了 CN=disable-automatic-updates,与下文打包对应
PhoneIdentity节点应该是给以前的WP商店识别的,直接删掉即可
如果只是想阻止更新,改Publisher就行
如果要共存,则改Identity name,比如我改成了这样
notion image
 

如何安装修改后的文件

要安装修改后的App,有两种方式

一是重新打包成appx,然后安装

优点是和原先一样可以双击安装,跟普通的App一样安装到受NTFS权限保护的Program Files\WindowsApps路径,防止手贱,卸载后不会有任何残留。
缺点是要安装Windows SDK(makeappx打包工具在SDK里),打包后要签名才能安装
 
这里简单叙述过程
首先,确认你已经安装了Visual Studio中的通用 Windows 开发中的SDK
notion image
安装好后,你可以使用Everything搜索 Makecert.exe的位置,一般在文件夹 Windows Kits中,并且与你下载的SDK版本相同,选择你电脑使用的架构,一般来说是x64架构。
notion image
右键与你架构版本对应的Makecert.exe → 打开路径,在文件资源管理器中右键打开终端,输入以下命令
这里的CN=disable-automatic-updates要与你填写的Publisher相同,此时会弹出一个窗口让你填写密码,随便填写即可,我这里填写的是123456,之后执行下面两个命令,其中 123456的地方需要你改写成你自己填入的密码。
之后需要复制你上面步骤解压出的Drawboard文件夹的路径,并将下面的 E:\download\Drawboard 改成你自己的路径。
最后将你刚刚打包出的appx用刚刚生成的证书签名,之后双击文件夹内的abc.pfx和abc.cer将证书安装,并双击appx文件进行安装,即可实现去除软件自动更新的效果。
但是不建议大家接受其他人提供的appx和证书,这可能会导致您的电脑遭受一定的风险,请您最好自行打包。

二是用开发者模式注册appxmanifest

优点是不用装SDK,不用签名,App文件可以放到任何地方,Powershell里一行命令就可以装上。
缺点是卸载后程序本体不会被删除(但AppData里对应的个人数据会清掉),程序文件没有NTFS权限保护,以及要打开开发者模式。
这里介绍第二种方法。
首先打开开发者模式,设置-更新和安全-开发者选项,将其勾选,虽然这里提供的截图是中文,但是每个语言的图标应该是一样的,确认图标是否对应就好
notion image
将App的目录放到某个你不会手贱删掉的地方,我放在C:\Users\用户名\AppData\Local\Programs下(这是VSCode等程序的安装路径)
Explorer打开到App的位置(appxmanifest.xml的位置),shift-右键打开Powershell,然后输入命令
一瞬间安装完成,如果安装失败那可能是你appxmanifest改坏了,或者没开开发者模式
这时候打开商店,你会发现Drawboard还是没安装的状态,自然也不存在强制更新了
你愿意的话还可以两个都装上去(
搭建 Weblate 建立属于自己的在线公共翻译平台 二进制算法中的进位(CARRY)标志和溢出(OVERFLOW)标志