# Installed-Checker **Repository Path**: deng-Xw/installed-checker ## Basic Information - **Project Name**: Installed-Checker - **Description**: this solution is used to check if applications were installed and feedback an info about the install status which were installed by installer of MSIX and MSI. - **Primary Language**: C# - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-12-23 - **Last Updated**: 2025-12-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 微软商店程序安装检查器 一个用于在 Windows 上检查和启动已安装应用程序的 .NET 库,支持 MSIX 和 MSI 两种包格式。 ## 功能特性 - 使用 MSIX 包系列名称检查应用程序是否已安装 - 使用 MSI 注册表信息检查应用程序是否已安装 - 获取详细安装信息(版本、安装位置等) - 启动已安装的应用程序 - 以 JSON 格式返回结果,便于集成 ## 安装方式 ### 通过 NuGet 包管理器安装: ```bash Install-Package InstallChecker ``` ### 或者通过 .NET CLI 安装: ```bash dotnet add package InstallChecker ``` ## 使用方法 ### 基本用法 ```csharp using InstallStatus.Checker; // 创建检查信息 var checkInfo = new InstallCheckInfo { TargetPackageFamilyName = "YourPackageFamilyName", // 用于MSIX应用 TargetAppId = "YourAppId" // 用于MSI应用 }; // 检查安装状态 string jsonResult = InstallChecker.CheckInstallStatusAsJson(checkInfo); // 解析结果 var result = System.Text.Json.JsonSerializer.Deserialize(jsonResult); // 使用结果 if (result.MSIXIsInstalled) { Console.WriteLine($"MSIX应用版本: {result.MSIXAppVersion}"); Console.WriteLine($"MSIX安装位置: {result.MSIXInstallLocation}"); } if (result.MSIIsInstalled) { Console.WriteLine($"MSI应用版本: {result.MSIAppVersion}"); Console.WriteLine($"MSI安装位置: {result.MSIInstallLocation}"); Console.WriteLine($"MSI可执行文件路径: {result.MSIExecutablePath}"); } ``` ## API 参考 ### InstallCheckInfo 包含要检查应用程序信息的类,核心属性说明: - TargetPackageFamilyName:要检查的 MSIX 应用程序的包系列名称。 - TargetAppId:要检查的 MSI 应用程序的标识符(通常是注册表键名)。 ### InstallCheckJsonResult 包含安装检查结果的类,分为 MSIX 相关属性和 MSI 相关属性: #### MSIX 属性 - MSIXIsInstalled:MSIX 应用程序是否已安装(布尔类型)。 - MSIXCheckLogs:MSIX 安装检查过程的日志(字符串类型)。 - MSIXAppVersion:已安装 MSIX 应用程序的版本(字符串类型)。 - MSIXErrorMsg:MSIX 检查失败时的错误消息(字符串类型,检查成功时为空)。 - MSIXInstallLocation:MSIX 应用程序的安装位置(字符串类型)。 #### MSI 属性 - MSIIsInstalled:MSI 应用程序是否已安装(布尔类型)。 - MSICheckLogs:MSI 安装检查过程的日志(字符串类型)。 - MSIAppVersion:已安装 MSI 应用程序的版本(字符串类型)。 - MSIErrorMsg:MSI 检查失败时的错误消息(字符串类型,检查成功时为空)。 - MSIInstallLocation:MSI 应用程序的安装位置(字符串类型)。 - MSIExecutablePath:MSI 应用程序的可执行文件路径(字符串类型)。 ### 补充说明 - 所有属性均为公共可读可写属性(`public` 修饰),适配 .NET Standard 2.0 及以上版本。 - 日志属性(XXXCheckLogs)会记录检查过程中的关键步骤(如注册表读取、包信息查询),便于调试排查问题。 - 错误消息属性(XXXErrorMsg)仅在检查失败时返回具体错误信息(如“找不到指定的注册表项”“MSIX 包未注册”),检查成功时为空字符串。