# 知窗 **Repository Path**: zinghub/zing-desktop ## Basic Information - **Project Name**: 知窗 - **Description**: 帮助用户快速将网页打包成windows应用,支持windows 11 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2026-03-16 - **Last Updated**: 2026-03-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 知窗 知窗是一款轻量的 Windows 桌面壳应用与打包工具,帮助用户把任意网页快速打包成可安装的 Windows 应用。项目基于 WPF + WebView2:用原生窗口承载 Web 页面,提供更接近“独立客户端”的启动与使用体验,同时保留网页的迭代效率。 ## 功能 - 一键打包:将指定 Url 打包为 Windows 安装包(installer/package.ps1) - WebView2 容器:以桌面窗口承载网页,启动即打开目标页面(MainWindow.xaml/.cs) - 单例运行:重复启动会唤起已运行的窗口(Mutex + NamedPipe) - 便捷安装:一键安装到用户目录,并创建桌面/开始菜单快捷方式(install.cmd / install.ps1) ## 环境要求 - Windows 11 - .NET 8 Desktop Runtime(当安装包以非自包含方式发布时需要) - Microsoft Edge WebView2 Runtime(通常 Windows 11 默认具备;缺失时需要单独安装) ![img.png](img.png) ## 本地开发 使用 Visual Studio 打开并运行: - 项目:Desktop.csproj - 目标框架:net8.0-windows 核心入口: - App.xaml.cs:单例与窗口管理 - MainWindow.xaml(.cs):WebView2 容器与页面地址(Desktop.config.json / 默认 Url) ## 打包发布(installer/package.ps1) 在 `installer` 目录执行: ```powershell powershell -NoProfile -ExecutionPolicy Bypass -File .\package.ps1 ``` 生成产物: - `installer/Desktop_Setup.zip` - 包内包含 `install.cmd / install.ps1 / uninstall.ps1` 和 `payload`(应用文件) ### 运行时架构(非常重要) `package.ps1` 会根据打包机器架构自动选择 Runtime: - ARM64 机器默认打包 `win-arm64` - 非 ARM64 机器默认打包 `win-x64` 如果将 `win-arm64` 的包放到 x64 Windows 上运行,系统会提示“无法在你的电脑上运行”(架构不匹配)。 建议显式指定 Runtime: ```powershell # 打包 x64 版本(适用于大多数 Windows 11 电脑) powershell -NoProfile -ExecutionPolicy Bypass -File .\package.ps1 -Runtime win-x64 # 打包 ARM64 版本(适用于 Windows on ARM 设备) powershell -NoProfile -ExecutionPolicy Bypass -File .\package.ps1 -Runtime win-arm64 ``` ### 目标地址(Url)参数 打包时可以通过 `-Url` 指定应用启动后打开的页面地址,脚本会写入安装包内的 `payload/Desktop.config.json`,程序启动时优先读取该配置。 ```powershell powershell -NoProfile -ExecutionPolicy Bypass -File .\package.ps1 -Runtime win-x64 -Url "https://example.com/leke/lekeProductList" ``` 可通过安装包内 `BUILD_INFO.txt` 查看本次打包的 Url。 ### 自包含发布(可选) 默认脚本使用非自包含发布(SelfContained=false),目标机需要安装 .NET 8 Desktop Runtime。 如果希望减少目标机依赖,可以使用自包含发布: ```powershell powershell -NoProfile -ExecutionPolicy Bypass -File .\package.ps1 -Runtime win-x64 -SelfContained ``` ## 安装/卸载 解压 `Desktop_Setup.zip` 后: - 安装:双击 `install.cmd`(推荐)或运行 `install.ps1` - 卸载:运行 `uninstall.ps1` 安装位置(默认): - `%LOCALAPPDATA%\Desktop` ## 常见问题 ### 1)提示“无法在你的电脑上运行” 大概率是安装包的 Runtime 与目标机架构不匹配: - x64 Windows:请使用 `-Runtime win-x64` 打包 - ARM64 Windows:请使用 `-Runtime win-arm64` 打包 可通过安装包内 `BUILD_INFO.txt` 查看本次打包的 Runtime。 ### 2)启动后白屏/无法加载页面 - 检查目标机是否有 WebView2 Runtime - 检查业务地址是否可访问(公司网络/证书/代理) ### 3)双击没反应或缺少运行时 如果是非自包含包(默认),确保已安装 .NET 8 Desktop Runtime;或者使用 `-SelfContained` 重新打包。