Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

希望出一份自己打包的教程 #3

Open
CHN-STUDENT opened this issue May 31, 2020 · 5 comments
Open

希望出一份自己打包的教程 #3

CHN-STUDENT opened this issue May 31, 2020 · 5 comments

Comments

@CHN-STUDENT
Copy link
Contributor

RT
希望出一份自己打包的教程,方便我们自己搞事情。
感谢您!

@JasonWei512
Copy link
Owner

JasonWei512 commented May 31, 2020

大概步骤,详细步骤以后有空写:

1、AppxBundle 和 Appx 文件就是压缩包,可以用 7z 之类的工具解压。

2、修改 Appx 解压出的文件夹里的 AppxManifest.xml,把 Identity 里的 Publisher 改成 "CN=你的名字"。

3、装 Visual Studio UWP SDK,然后用 SDK 里的 makeappx.exesigntool.exe 两个工具。我电脑上这两个工具在 C:\Program Files (x86)\Windows Kits\10\bin\10.0.18362.0\x64\ 里。

4、把 Appx 解压出的文件夹用 makeappx.exe 打包成 appx 文件。再用你的名字做个自签名证书,用 signtool.exe 签名 appx 文件。

makeappx.exe pack /d Appx解压出的文件夹 /p 打包文件.appx 
signtool.exe sign /debug /fd sha256 /a /f 你的证书.pfx 打包文件.appx
脚本备忘
$makeappx = (Get-ChildItem "C:\Program Files (x86)\Windows Kits\10\bin\10.0.*\x64\makeappx.exe")[0]
$signtool = (Get-ChildItem "C:\Program Files (x86)\Windows Kits\10\bin\10.0.*\x64\signtool.exe")[0]

& $makeappx pack /d .\Package\ /p Package.appx /o

$cert = New-SelfSignedCertificate -Type Custom -Subject "CN=esaeten" -KeyUsage DigitalSignature -FriendlyName "esaeten" -CertStoreLocation "Cert:\CurrentUser\My" -TextExtension @("2.5.29.37={text}1.3.6.1.5.5.7.3.3", "2.5.29.19={text}") -NotAfter (Get-Date).AddYears(100)
$password = ConvertTo-SecureString -String esaeten -Force -AsPlainText
Export-PfxCertificate -cert "Cert:\CurrentUser\My\$($cert.Thumbprint)" -FilePath esaeten.pfx -Password $password
Remove-Item "Cert:\CurrentUser\My\$($cert.Thumbprint)"
& $signtool sign /debug /fd sha256 /a /f .\esaeten.pfx /p esaeten Package.appx

@CHN-STUDENT
Copy link
Contributor Author

CHN-STUDENT commented May 31, 2020

@JasonWei512 好的感谢您,我刚用了下UnblockNeteaseMusic 然后发现重新打包的sid变了,因此希望您说明一下。
另外我在设想能不能写一个脚本,自动启动这个解锁服务器代理和网易云,然后脚本监听网易云主程序是否还在运行,若不运行自动退出,您是否有高见呢?感谢

@JasonWei512 JasonWei512 pinned this issue Aug 4, 2020
@xiexiaosheng
Copy link

那个证书怎么弄啊,哭了

@virtual-panda
Copy link

你可以使用PowerShell自带的证书创建功能。

New-SelfSignedCertificate -Type Custom -Subject "CN=<你的证书名>" -KeyUsage DigitalSignature -FriendlyName "<友好名称>" -CertStoreLocation "Cert:\CurrentUser\My" -TextExtension @("2.5.29.37={text}1.3.6.1.5.5.7.3.3", "2.5.29.19={text}") -NotBefore (Get-Date) -NotAfter (Get-Date).AddYears(<生效年数>)

你的证书名:点开证书后的“颁发给”

友好名称:详细信息-友好名称 里显示的东西,可能类似于...备注?
TextExtension:我也不太懂的参数详见微软官方文档
CertStoreLocation:证书存储路径,这个是证书管理器里的路径,不是文件资源管理器里的路径!
生效年数:填1就是从现在起生效1年,以此类推。如果你想设个几个月的有效期,就请把AddYears改成AddMonths。

建好后win+r输入certmgr.msc打开证书管理器,进入个人-证书,应该就能看到这个证书。然后把它导出为pfx即可。

如果pfx设了密码(最好设个密码,官方文档好像说不设密码会出问题),到时候签名时记得在 /f 证书.pfx 后加一个 /p 证书的密码

@JasonWei512 JasonWei512 unpinned this issue Mar 18, 2023
@PandaFiredoge
Copy link

写了篇更详细的教程,不过打包的是“照片”App
https://github.com/PandaFiredoge/PhotosUWP

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants