windows - 如何设置 Windows 桌面应用程序的 AppId(通过 InnoSetup)
问题描述
根据标题,如何设置本机 Windows 桌面应用程序的应用程序 ID?
有关应用程序 ID 的文档很少,我还没有找到任何有关设置它的信息。
有这个Microsoft Docs但这提到了它是什么以及如何使用 AppUserModelId
我正在使用 Inno Setup Compiler 为我的桌面应用程序创建安装程序,并且我已将标志AppId
设置为由 Inno Setup Compiler 生成的 GUID。
AppId={{6BE5E5E6-68BF-4AF7-A9E5-FF919709E86C}
我的理解是 Inno Setup 将AppId
在您运行安装程序时设置,但是当我运行此 PowerShell 代码段时,安装后我无法找到我的应用程序(此代码段显示 AppId 为IdentifyingNumber
):
get-wmiobject Win32_Product -Filter "Name LIKE 'MyApp%'"
不过,在我的应用程序中,一切都按预期工作。它启动了一切,但我需要AppId
设置,以便我的 toast 通知正常工作(通过 wxWidgets)。
编辑:
具有讽刺意味的是,我实际上追求的是AppUserModelId
而不是AppId
我的问题中甚至提到的。
第二次编辑:
我了解到这AppId
是 Inno Setup 特定的事情,与 Windows 无关。正如我在之前的编辑中提到的,我真正在寻找的是AppUserModelId
,我的问题变得更加清晰,这已被放入这个问题中。
不管我可以使用 Powershell 代码段查询某些应用程序并获得结果,我都觉得这很有趣,但是对于我的应用程序,我没有得到任何结果
解决方案
根据AppID
它的文件指出:
AppId
还确定了 Uninstall 注册表项的实际名称,Inno Setup 在末尾添加了“_is1”。(因此,如果 AppId 为“MyProgram”,则密钥将命名为“MyProgram_is1”。)
在您的情况下,注册表项将是:{6BE5E5E6-68BF-4AF7-A9E5-FF919709E86C}_is1
在我的计算机上,卸载注册表项在这里:
HKEY_LOCAL_MACHINE\
SOFTWARE\
WOW6432Node\
Microsoft\
Windows\
CurrentVersion\Uninstall\{...}_is1
它有两个注册表项,说明软件的位置:
InstallLocation
Inno Setup: App Path
但它似乎没有说明可执行文件的名称。但无论如何你都会知道的。
推荐阅读
- postgresql - 导入 TXT 文件时在 Postgresql 中添加“自动递增主键”列
- ios - CNContactPickerViewController 导航栏位置错误
- java - 递归删除包含文件和文件夹的整个目录
- azure - Azure Easy 表发送通知
- angular - 将 unicode 更改为 textarea 中的图像
- javascript - jquery在单击时将所有图标添加到列表分隔符
- css - 如何将css样式添加到新元素
- python-3.x - 多堆积图
- r - 两个相同的数据框,其中一个会引发错误,“仅使用第一个元素”
- python - Python - tkinter askdirectory 语法