Is there a WIX extension for install MMC snapin/extension?

313 views Asked by At

It appears there was previously an extension for MMC in Wix2 advising the xmlns http://schemas.microsoft.com/wix/MmcExtension - attempting to read this URL results in an error page currently.

I cannot seem to locate equivalent for Wix3.6, is this deliberately (re)moved, or just missing?

3

There are 3 answers

0
Stevenr12 On BEST ANSWER

It was removed, you have to manually create the registry keys. This link has a good summation of what you need to do.

The old extension was just a wrapper for the code included in the link above. I'm not sure why they took it out.

0
Giuseppe B On

You can use also the heat tool (you can find it in the wix bin/ directory). the usage is simple, you just need to export the registry key generated with installutil and launch the command:

heat reg <your_exported_registry> -o <output_filename>

0
Greg Domjan On

Related info:
Having generated the registry entries, the larger issue for our MMC snapin was that it was extending the AD Users and Computers Snapin - in particular extending the node types for other directory object types.

I had hoped such a wix extension would cover such, but it was not in the earlier version.

While waiting for Microsoft to address Windows File/Registry protection overly protecting ADUAC and SMADUAC and GPO etc. our customer have requested we work around this.

Using a custom action we take ownership from WRP TrustedInstaller and grant access to Adminstrators group to modify the NodeType key so that additional keys can be added.

Functions sourced initial from MSDN examples
SetPrivilege Example Code
Taking Ownership Example Code
Modify ACL Example Code - this was adjusted Taking ownership to extend ACL rather than create new ACL and blast the old

Some further items of Note:
Pre Win7 - Alternate method to taking ownership would be to use SE_RESTORE_NAME to allow direct changing of an ACL, however installer process from Win7 deliberatly prevents it, this also prevents take ownership from being able to restore the original owner.

Platform Types: SetNamedSecurityInfo doesn't allow 32 bit execution against 64 bit registry - Windows OS limitation still present in Windows 8 It does however allow a 64 bit execution to address both the 64 and wow6432 sections. For a binary custom action at least need a platform specific dll.