按照标题,如何设置本机Windows桌面应用程序的应用程序ID?
有关应用程序ID的文档很少,我还没有找到任何有关设置它的信息。
这里有Microsoft Docs,但其中提到了它的含义以及如何使用AppUserModelId的
我正在使用Inno Setup Compiler为我的桌面应用程序创建安装程序,并且将标志AppId
设置为Inno Setup Compiler生成的GUID。
AppId={{6BE5E5E6-68BF-4AF7-A9E5-FF919709E86C}
我的理解是,当您运行安装程序时,Inno安装程序将设置AppId
,但是当我运行此PowerShell代码段时,安装后我找不到我的应用程序(此代码段将AppId显示为{ {1}}):
IdentifyingNumber
一切都按我的应用程序预期进行。它可以启动,并且一切正常,但是我需要设置get-wmiobject Win32_Product -Filter "Name LIKE 'MyApp%'"
才能使我的Toast通知正确运行(通过wxWidgets)。
编辑:
我实际上所追求的是AppId
,而不是AppUserModelId
,具有讽刺意味的是,在我的问题中甚至提到过。
第二次编辑:
我了解到AppId
是Inno Setup特有的,与Windows没有任何关系。正如我之前的编辑中提到的,我真正要寻找的是AppId
,而我的问题变得更清楚了,该问题已被放到question中。
无论我可以使用Powershell片段查询某些应用程序并获得结果,我都觉得很有趣,但是对于我的应用程序却没有结果
答案 0 :(得分:0)
根据AppID
的文档,其中指出:
AppId
还确定“卸载”注册表项的实际名称,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
但是它似乎没有说明可执行文件的名称。但是无论如何你都会知道。