简体   繁体   中英

How to set the AppId of Windows Desktop Application (via InnoSetup)

As per the title, how do I set the application id of a native Windows desktop application?

Documentation on Application Id's is sparse and I haven't found anything about setting it.

There is this Microsoft Docs but this mentions what it is and how to use AppUserModelId's

I am using Inno Setup Compiler to create an installer for my desktop application and I have set the flag AppId to a GUID generated by Inno Setup Compiler.

AppId={{6BE5E5E6-68BF-4AF7-A9E5-FF919709E86C}

My understanding is that Inno Setup will set up the AppId when you are running the installer, but when I run this PowerShell snippet, I am unable to find my application after installation (this snippet shows the AppId as IdentifyingNumber ):

get-wmiobject Win32_Product -Filter "Name LIKE 'MyApp%'"

Everything works as expected in my application though. It starts up and everything, but I need the AppId to be set in order for my toast notifications to work correctly (via wxWidgets).

Edit:

What I was actually after was AppUserModelId and not AppId which is what was even mentioned in my question here, ironically.

2nd Edit:

I've learnt that the AppId is a Inno Setup specific thing and not anything to do with Windows. As mentioned in my previous edit, what I was actually looking for is the AppUserModelId and my issue became more clear which has been put into this question .

I find it interesting regardless that some applications I can query with the Powershell snippet and I get results back, but for my application I get no result

According to the documentation for AppID it states:

AppId also determines the actual name of the Uninstall registry key, to which Inno Setup tacks on "_is1" at the end. (Therefore, if AppId is "MyProgram", the key will be named "MyProgram_is1".)

In your case the registry key will be: {6BE5E5E6-68BF-4AF7-A9E5-FF919709E86C}_is1

On my computer the uninstall registry keys are here:

   HKEY_LOCAL_MACHINE\
             SOFTWARE\
          WOW6432Node\
            Microsoft\
              Windows\
        CurrentVersion\Uninstall\{...}_is1

It has two registry keys stating the location of the software:

  • InstallLocation
  • Inno Setup: App Path

But it does not appear to state the name of the executable. But you would know that anyway.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM