wixsharp: Can't access CLSID registry in desired way

Iโ€™m trying to write some values in HKCR\CLSID, like so:

var project = new ManagedProject("Program",
    new RegValue(fullSetup, RegistryHive.ClassesRoot, @"CLSID\{6ED90329-F283-477A-83A3-97ADA22C02F9}\InprocServer32", "CodeBase", "file:///[INSTALLDIR]"),
    new Dir(@"%ProgramFiles%\Manufacturer\Program",
        new Files(@"..\Program\bin\Debug\*.*",
        file => !file.EndsWithAny(true, new string[] { ".pdb", ".obj" }))
        ));

however it always gets written to HKCR\WOW643Node\CLSID, even if I set project.Platform = Platform.x86;.

And looks like there is no method like ImportRegFile or ImportRegValue in project anymore, so I canโ€™t set RegValue.Win64 to false.

What should I do?

About this issue

  • Original URL
  • State: closed
  • Created 2 years ago
  • Comments: 33 (15 by maintainers)

Most upvoted comments

Sorry, it was a typo. It meant to be project.AfterAfterInstall It is the only elevated event

Oh, okay, that explains it ๐Ÿ˜ƒ Thanks!

But self-registration is definitely simpler ๐Ÿ˜ƒ Stilโ€ฆ remember the limitations of self-registration approach - it is not transactional as it is based on custom action but not REGISTRY data. So use it at your own risk. ๐Ÿ˜ƒ

Sure, thanks! I suppose I should close this issue now since my question is resolved ๐Ÿ˜ƒ

And to make the future investigation turn around faster I have updated the documentation: image