MSFN Forum: SetupAPI on 64-bit platforms vs registry redirection - MSFN Forum

Jump to content



Unattended CD/DVD Guide Homepage · MSFN Forum Rules

Welcome to the Applications Installs forum. Make sure you read the forum rules before you start posting.

Links/Requests to warez and/or any illegal material (porn, cracks, serials, etc..) will not be tolerated. Discussion of circumventing WGA/activation/timebombs/keygens or any other illegal activity will also not be tolerated.

We try our best to keep this forum clean of illegal content. If you see any illegal activity use the "report" button you find in every post to report the specific post to the moderators. If you ignore any of the rules you will be banned without notice.

Read Forum Rules
Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

SetupAPI on 64-bit platforms vs registry redirection Rate Topic: -----

#1 User is offline   gr8dude 

  • Group: Members
  • Posts: 6
  • Joined: 05-February 05
  • OS:Windows 7 x64
  • Country: Country Flag

Posted 06 May 2010 - 05:53 AM

Hi everyone, I am facing a tricky case and I hope I can get some advice on how to deal with it.

Environment: Windows 7 x64, Windows XP x86

There is an installer that uses SetupAPI to install a program on a system. The program is a 32-bit application, it has an Explorer context menu plugin. It is a DLL that needs to be registered by creating a key in
HKLM\Software\Classes\CLSID


2 versions of the DLL exist, a 32-bit one for x86 platforms, and a 64-bit one for x64 platforms (AMD64, to be more specific).


This works as expected on 32-bit platforms, but on 64-bit platforms registry redirection kicks in, and instead the key is created in
HKLM\Software\Classes\Wow6432Node\CLSID


The context menu doesn't work, because Explorer.exe is a 64-bit process, hence it doesn't see that part of the registry.

Unfortunately I failed to find any resource that would indicate whether actions performed by setupAPI are subject to registry redirection or not. However, the documentation states that one can use decorators in the sections of the INF file. I assume that if an action is performed from a section that was decorated as "ntamd64", it would be executed without being altered by the redirection magic.


Unfortunately, my experiment brought me to the conclusion that the decorator is not having this effect; not only that - but it appears to be completely ignored (the key is not created in the "Wow6432Node" section either).


Here's an outline of my INF
[DefaultInstall.ntamd64]
RequiredEngine      = Setupapi
CopyFiles           = CopyFiles,CopyFiles.amd64
RunPreSetupCommands = Install_Certificate
RunPostSetupCommands= RunPostSetup,RunPostSetupRegistry_ntamd64
UpdateInis          = CreateStartMenuFolder
CustomDestination   = CustDestDir
AddReg              = RegAdd, RegAdd_register, RegAdd64test
SmartReboot         = N
;RegisterDlls		= RegisterAddins

[RegAdd64test]
; .SKF file extension association and icon
HKLM, Software\Classes\CLSID\{A23zzzC51BC-5D02-45a2-A5F1-7775DB68FB84}, , ,"SKIntegr45 Class"



I suspect the problem is in the incorrect use of decorators, because the actions specified in "CopyFiles.amd64" are not performed either.


So, this boils it down to these questions:
  • Is setupAPI subject to registry redirection?
  • Why don't the decorators work as expected?


Any ideas will be greatly appreciated.


Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users



All trademarks mentioned on this page are the property of their respective owners
Copyright © 2001 - 2011 msfn.org
Privacy Policy