diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..3b517be --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,184 @@ +name: Update QQPCSoftMgr +on: + workflow_dispatch: + schedule: + - cron: "0 10 * * 5" + push: + branches: + - main + paths-ignore: + - "**/README.md" + +jobs: + extract: + runs-on: windows-latest + steps: + - name: Checkout codebase + uses: actions/checkout@main + + - name: Set locale and language in China + run: | + Set-WinSystemLocale zh-CN + Set-Culture zh-CN + Set-WinUILanguageOverride zh-CN + $env:LANG = 'zh-CN' + + - name: Install `QQPCMgr` and running 60s + run: | + .\PCMgr_Setup_15_6_23123_201.exe /S + Start-Sleep -Seconds 60 + + - name: Open `QQPCSoftMgr` and running 120s + run: | + "%PROGRAMFILES(X86)%\Tencent\QQPCMgr\15.6.23123.201\QQPCSoftMgr.exe" + Start-Sleep -Seconds 120 + + - name: Copy files + run: | + md 15.6.23123.201 libraries upload_files + taskkill /f /t /im QQPC* + taskkill /f /t /im QMDL* + robocopy /e "%PROGRAMFILES(X86)%\Tencent\QQPCMgr\15.6.23123.201\Image" "15.6.23123.201\Image" /im /is /it /mt:32 + robocopy /e "%PROGRAMFILES(X86)%\Tencent\QQPCMgr\15.6.23123.201\Images" "15.6.23123.201\Images" /im /is /it /mt:32 + robocopy /e "%PROGRAMFILES(X86)%\Tencent\QQPCMgr\15.6.23123.201\plugins\SoftUninstall" "15.6.23123.201\plugins\SoftUninstall" /im /is /it /mt:32 + robocopy /e "%PROGRAMFILES(X86)%\Tencent\QQPCMgr\15.6.23123.201\qbclient" "15.6.23123.201\qbclient" /im /is /it /mt:32 + robocopy /e "%PROGRAMFILES(X86)%\Tencent\QQPCMgr\15.6.23123.201\qmsoftmgrupdate" "15.6.23123.201\qmsoftmgrupdate" /im /is /it /mt:32 + del /f /s /q "15.6.23123.201\qmsoftmgrupdate\updatedate.txt" + robocopy /e "%PROGRAMFILES(X86)%\Tencent\QQPCMgr\15.6.23123.201\SoftMgr" "15.6.23123.201\SoftMgr" /im /is /it /mt:32 + copy /y "%PROGRAMFILES(X86)%\Tencent\QQPCMgr\15.6.23123.201\Soft*" "15.6.23123.201" + copy /y "%PROGRAMFILES(X86)%\Tencent\QQPCMgr\15.6.23123.201\QQPCSoft*" "15.6.23123.201" + copy /y "%PROGRAMFILES(X86)%\Tencent\QQPCMgr\15.6.23123.201\beacon_sdk.dll" "15.6.23123.201" + copy /y "%PROGRAMFILES(X86)%\Tencent\QQPCMgr\15.6.23123.201\Common.dll" "15.6.23123.201" + copy /y "%PROGRAMFILES(X86)%\Tencent\QQPCMgr\15.6.23123.201\dr.dll" "15.6.23123.201" + copy /y "%PROGRAMFILES(X86)%\Tencent\QQPCMgr\15.6.23123.201\FastUninstScpt.etf" "15.6.23123.201" + copy /y "%PROGRAMFILES(X86)%\Tencent\QQPCMgr\15.6.23123.201\GF.dll" "15.6.23123.201" + copy /y "%PROGRAMFILES(X86)%\Tencent\QQPCMgr\15.6.23123.201\GlobalConfig.etf" "15.6.23123.201" + copy /y "%PROGRAMFILES(X86)%\Tencent\QQPCMgr\15.6.23123.201\LoadError.html" "15.6.23123.201" + copy /y "%PROGRAMFILES(X86)%\Tencent\QQPCMgr\15.6.23123.201\msvcp*.dll" "15.6.23123.201" + copy /y "%PROGRAMFILES(X86)%\Tencent\QQPCMgr\15.6.23123.201\p2papp.dll" "15.6.23123.201" + copy /y "%PROGRAMFILES(X86)%\Tencent\QQPCMgr\15.6.23123.201\PackageMgr.dll" "15.6.23123.201" + copy /y "%PROGRAMFILES(X86)%\Tencent\QQPCMgr\15.6.23123.201\ptrate.dll" "15.6.23123.201" + copy /y "%PROGRAMFILES(X86)%\Tencent\QQPCMgr\15.6.23123.201\QMCommon.dll" "15.6.23123.201" + copy /y "%PROGRAMFILES(X86)%\Tencent\QQPCMgr\15.6.23123.201\QMDL.exe" "15.6.23123.201" + copy /y "%PROGRAMFILES(X86)%\Tencent\QQPCMgr\15.6.23123.201\QMDlder.dll" "15.6.23123.201" + copy /y "%PROGRAMFILES(X86)%\Tencent\QQPCMgr\15.6.23123.201\QMDns.dll" "15.6.23123.201" + copy /y "%PROGRAMFILES(X86)%\Tencent\QQPCMgr\15.6.23123.201\QMExt.dll" "15.6.23123.201" + copy /y "%PROGRAMFILES(X86)%\Tencent\QQPCMgr\15.6.23123.201\QMGuid*.dll" "15.6.23123.201" + copy /y "%PROGRAMFILES(X86)%\Tencent\QQPCMgr\15.6.23123.201\QMIpc*.dll" "15.6.23123.201" + copy /y "%PROGRAMFILES(X86)%\Tencent\QQPCMgr\15.6.23123.201\QMNetworkMgr*" "15.6.23123.201" + copy /y "%PROGRAMFILES(X86)%\Tencent\QQPCMgr\15.6.23123.201\QMPrivilege*" "15.6.23123.201" + copy /y "%PROGRAMFILES(X86)%\Tencent\QQPCMgr\15.6.23123.201\QMScriptHost.dll" "15.6.23123.201" + copy /y "%PROGRAMFILES(X86)%\Tencent\QQPCMgr\15.6.23123.201\QMStuck*.dll" "15.6.23123.201" + copy /y "%PROGRAMFILES(X86)%\Tencent\QQPCMgr\15.6.23123.201\QMSysRepProv*" "15.6.23123.201" + copy /y "%PROGRAMFILES(X86)%\Tencent\QQPCMgr\15.6.23123.201\QQFileFlt.dll" "15.6.23123.201" + copy /y "%PROGRAMFILES(X86)%\Tencent\QQPCMgr\15.6.23123.201\QQPCExternal.exe" "15.6.23123.201" + copy /y "%PROGRAMFILES(X86)%\Tencent\QQPCMgr\15.6.23123.201\QQPCMgr.exe" "15.6.23123.201" + copy /y "%PROGRAMFILES(X86)%\Tencent\QQPCMgr\15.6.23123.201\SmartInstall.dll" "15.6.23123.201" + copy /y "%PROGRAMFILES(X86)%\Tencent\QQPCMgr\15.6.23123.201\TAVEng.dll" "15.6.23123.201" + copy /y "%PROGRAMFILES(X86)%\Tencent\QQPCMgr\15.6.23123.201\TenioDL*.dll" "15.6.23123.201" + copy /y "%PROGRAMFILES(X86)%\Tencent\QQPCMgr\15.6.23123.201\TSSysKitProxy.dll" "15.6.23123.201" + copy /y "%PROGRAMFILES(X86)%\Tencent\QQPCMgr\15.6.23123.201\vccorlib*.dll" "15.6.23123.201" + copy /y "%PROGRAMFILES(X86)%\Tencent\QQPCMgr\15.6.23123.201\vcomp*.dll" "15.6.23123.201" + copy /y "%PROGRAMFILES(X86)%\Tencent\QQPCMgr\15.6.23123.201\vccorlib*.dll" "15.6.23123.201" + copy /y "%PROGRAMFILES(X86)%\Tencent\QQPCMgr\15.6.23123.201\vcruntime*.dll" "15.6.23123.201" + copy /y "%PROGRAMFILES(X86)%\Tencent\QQPCMgr\15.6.23123.201\xGraphic*.dll" "15.6.23123.201" + copy /y "%PROGRAMFILES(X86)%\Tencent\QQPCMgr\15.6.23123.201\zlib.dll" "15.6.23123.201" + + copy /y "%PROGRAMFILES(X86)%\Tencent\QQPCMgr\15.6.23123.201\GlobalConfig.etf" "libraries" + copy /y "%PROGRAMFILES(X86)%\Tencent\QQPCMgr\15.6.23123.201\SoftPolicy.etf" "libraries" + copy /y "%PROGRAMFILES(X86)%\Tencent\QQPCMgr\15.6.23123.201\SoftVerInfo.etf" "libraries" + shell: cmd + + - name: Install `WinRAR` + run: choco install winrar -y + + - name: Zip `QQPCSoftMgr` files + run: | + "%PROGRAMFILES%\WinRAR\WinRAR.exe" a -afzip QQPCSoftMgr.zip 15.6.23123.201\* -r + shell: cmd + + - name: Zip `libraries` files + run: | + "%PROGRAMFILES%\WinRAR\WinRAR.exe" a -afzip libraries.zip libraries\* -r + shell: cmd + + - name: Create `WinRAR` sfx config + run: | + $content = @" + Path="%PROGRAMFILES(X86)%\Tencent\QQPCMgr" + Setup=15.6.23123.201\QQPCSoftMgr.exe + Title=软件管理 + Text + { + 提取自腾讯电脑管家 15.6.23123.201 版本 + } + Silent=0 + Overwrite=1 + Shortcut=D, "%PROGRAMFILES(X86)%\Tencent\QQPCMgr\15.6.23123.201\QQPCSoftMgr.exe", , 安装、升级和卸载应用程序, 软件管理, "%PROGRAMFILES(X86)%\Tencent\QQPCMgr\15.6.23123.201\Images\softmgr.ico" + "@ + + $bytes = [System.Text.Encoding]::GetEncoding("GB2312").GetBytes($content) + [System.IO.File]::WriteAllBytes("config.txt", $bytes) + + - name: Create self-extracting exe and copy files + run: | + "%PROGRAMFILES%\WinRAR\WinRAR.exe" a -sfx -z"config.txt" -r QQPCSoftMgr.exe 15.6.23123.201\* + copy /y QQPCSoftMgr.zip upload_files + copy /y QQPCSoftMgr.exe upload_files + copy /y libraries.zip upload_files + copy /y "%PROGRAMFILES(X86)%\Tencent\QQPCMgr\15.6.23123.201\GlobalConfig.etf" "upload_files" + copy /y "%PROGRAMFILES(X86)%\Tencent\QQPCMgr\15.6.23123.201\SoftPolicy.etf" "upload_files" + copy /y "%PROGRAMFILES(X86)%\Tencent\QQPCMgr\15.6.23123.201\SoftVerInfo.etf" "upload_files" + shell: cmd + + - name: Upload files to workspace + uses: actions/upload-artifact@v4 + with: + name: QQPCSoftMgr + path: upload_files/* + compression-level: 9 + + push: + runs-on: ubuntu-latest + needs: extract + steps: + - name: Checkout codebase + uses: actions/checkout@main + + - name: Set variables + run: | + echo "update_version=$(date -d '+8 hours' +%Y-%m-%d)" >> ${GITHUB_ENV} + shell: bash + + - name: Download files from workspace + uses: actions/download-artifact@v4 + with: + path: . + + - name: Release and upload `QQPCSoftMgr` assets + uses: svenstaro/upload-release-action@v2 + with: + repo_token: ${{ secrets.GITHUB_TOKEN }} + release_name: QQPCSoftMgr + tag: QQPCSoftMgr + overwrite: true + body: | + [腾讯软件管理](https://pc.qq.com)免安装绿色版提取自[腾讯电脑管家](https://guanjia.qq.com) v15.6.23123.201 版本 + 软件库文件更新于 ${{ env.update_version }} + file_glob: true + file: ./QQPCSoftMgr/* + + - name: Purge jsDelivr CDN + run: | + cd ./QQPCSoftMgr/ || exit 1 + for file in $(ls); do + curl -i "https://purge.jsdelivr.net/gh/${{ github.repository }}@QQPCSoftMgr/${file}" + done + + - name: Delete old workflow runs + uses: Mattraks/delete-workflow-runs@v2 + with: + token: ${{ github.token }} + repository: ${{ github.repository }} + retain_days: 3 + keep_minimum_runs: 1 diff --git a/PCMgr_Setup_15_6_23123_201.exe b/PCMgr_Setup_15_6_23123_201.exe new file mode 100644 index 0000000..654b140 Binary files /dev/null and b/PCMgr_Setup_15_6_23123_201.exe differ diff --git a/README.md b/README.md new file mode 100644 index 0000000..2df7f56 --- /dev/null +++ b/README.md @@ -0,0 +1,45 @@ +# 一、 说明 +1. 每周五下午 6 点(北京时间 UTC+8)自动构建 +2. [软件管理](https://pc.qq.com)提取自[腾讯电脑管家](https://guanjia.qq.com) 15.6.23123.201 版本(v15 系列版本已停更) +3. 软件库文件包含 SoftPolicy.etf 和 SoftVerInfo.etf(控制“软件库”版本),以及 GlobalConfig.etf(控制“首页”和“游戏”栏目中的推荐列表) + +# 二、 软件特色 +1. 免安装绿色版 +2. 可下载、安装、升级、卸载软件 +3. 可一键卸载 Windows 10 或 Windows 11 UWP 应用 +4. 收录国内外主流软件,安装升级更方便 +5. 可自动适配屏幕 DPI,显示更清晰 + +# 三、 使用方法 +## 1. 首次使用 +- ① 首次使用请下载完整绿色包 QQPCSoftMgr.zip,解压后得到 *15.6.23123.201* 文件夹。然后下载软件库更新文件 libraries.zip +,解压里面的 .etf 文件到 *15.6.23123.201* 文件夹 +- ② **将 *15.6.23123.201* 文件夹移动到 *C:\Program Files (x86)\Tencent\QQPCMgr* 路径下(没有则新建)**,双击 *15.6.23123.201* 文件夹内的“QQPCSoftMgr.exe”文件即可运行 + - 注:提取自腾讯电脑管家 v15+ 版本的软件管理不可跳过第 ② 步,省略该步骤将无法运行;已上传自解压文件 QQPCSoftMgr.exe + ,使用 WinRAR 制作,自解压后可直接运行软件管理 + +## 2. 更新软件库 +- ① 编辑文本文档,粘贴如下内容: +``` +@echo off +rem 结束软件管理相关进程 +taskkill /f /t /im QQPCSoftMgr* +taskkill /f /t /im QMDL* +rem 更新软件库文件 +curl -o "%PROGRAMFILES(X86)%\Tencent\QQPCMgr\15.6.23123.201\GlobalConfig.etf" -L https://cdn.jsdelivr.net/gh/DustinWin/qqpcsoftmgr@QQPCSoftMgr/GlobalConfig.etf +curl -o "%PROGRAMFILES(X86)%\Tencent\QQPCMgr\15.6.23123.201\SoftPolicy.etf" -L https://cdn.jsdelivr.net/gh/DustinWin/qqpcsoftmgr@QQPCSoftMgr/SoftPolicy.etf +curl -o "%PROGRAMFILES(X86)%\Tencent\QQPCMgr\15.6.23123.201\SoftVerInfo.etf" -L https://cdn.jsdelivr.net/gh/DustinWin/qqpcsoftmgr@QQPCSoftMgr/SoftVerInfo.etf +echo 更新软件库文件成功 +pause +``` +- ② 另存为 .bat 文件,右击并选择“以管理员身份运行” + +# 四、 软件截图 +## 1. 首页 + + +## 2. 升级 + + +## 3. 卸载 +