Share via

Set Default App

OSVBNET 1,401 Reputation points
2022-07-07T13:32:40.983+00:00

Hello experts,
Reading about the default app registration structure:

https://learn.microsoft.com/en-us/windows/win32/shell/default-programs

Seems GUID and CLSID are the same, I just found that CLSID is for COM objects, so for .NET assemblies.

HKEY_CLASSES_ROOT :: Vendor.App.1 :: Do I need to create CLSID key even if the app is not COM object based at all and is pure .NET assembly?
Or I should create GUID instead of CLSID?

  • Not using any installer for now, maybe use InstallShield if I find too much difficulties later...
    Thanks :)
Windows development | Windows API - Win32
Developer technologies | .NET | .NET Runtime

1 answer

Sort by: Most helpful
  1. Junjie Zhu - MSFT 21,746 Reputation points
    2022-07-08T06:16:38.51+00:00

    Hello,@OSVBNET
    Welcome to Microsoft Q&A!

    Yes, GUID and CLSID are the same, CLSID is a GUID that identifies a COM object, their function is the same, just used in different fields.

    About what ID HKEY_CLASSES_ROOT needs to be, you can refer to the explanation in the document.

    The HKEY_CLASSES_ROOT (HKCR) key contains file name extension associations and COM class registration information such as ProgIDs, CLSIDs, and IIDs. It is primarily intended for compatibility with the registry in 16-bit Windows.

    Thank you.


    If the answer is the right solution, please click "Accept Answer" and kindly upvote it. If you have extra questions about this answer, please click "Comment".
    Note: Please follow the steps in our documentation to enable e-mail notifications if you want to receive the related email notification for this thread.

    Was this answer helpful?

    0 comments No comments

Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.