let’s make VC2008 Express to be even better

VC2008 professional is powerful of course,but as a driver developer,I just need a sample IDE like VC6.It’s powerful enough for most task,however,we need a new toolkit sometimes.VC2008 express is just a good toolkit,it’s simple,and free of charge!I need some feature but express edition doesn’t have.
1.no multi-platform support.
2.no reseditor.
 
I got something useful after debugging,and solved the two problems above.
1.VS use exported functions named VSDllRegisterServer/VSDllUnregisterServer to (un)register dll,like a extended DllRegisterServer/DllUnregisterServer
the prototype is:
 typedef HRESULT (WINAPI *pVSRegisterProc)(LPCWSTR pszRegRoot);// VSDllRegisterServer/VSDllUnregisterServer have the same prototype
 
2.different root reg key between express edition and normal edition
express : SOFTWAREMicrosoftVCExpress
normal : SOFTWAREMicrosoftVisualStudio
 
finally,we can do like this if we want to register a dll for a special VC edition(for example,VC2008 express)
load the dll,get the function address,and call with parameter L"SOFTWAREMicrosoftVCExpress9.0" (it’s a UNICODE string,take care!)
 
HRESULT hr=E_FAIL;
HINSTANCE hDll=LoadLibrary(_T("somedll.dll"));
if (hDll)
{
 typedef HRESULT (WINAPI *pVSRegisterProc)(LPCWSTR pszRegRoot);
 pVSRegisterProc pFunc=NULL;
 pFunc=GetProcAddress(hDll,"VSDllRegisterServer");// VSDllUnregisterServer ,if unregister
 if (pFunc)
 {
  hr=pFunc(L"the\root\reg\key");//eg,L"SOFTWAREMicrosoftVCExpress9.0"
 }
}
you may compile a tool ,and you need it later.now we named the tool regvsdll.
 
solution:
1.install vc2008 express
2.install PSDK7600,(or just vc_stdx86 in the PSDK 7600 DVD)
3.enter dir vcpackages,rename AMD64.VCPlatform.config to AMD64.VCPlatform.Express.config
rename Itanium.VCPlatform.config to Itanium.VCPlatform.Express.config
run regvsdll to register VCProjectIA64Platform.dll,VCProjectAMD64Platform.dll,Note,the root key is L"SOFTWAREMicrosoftVCExpress9.0"
4.you have to get following files if you need to enable resditor.you can found these file from a normal VS install dir or just from a trial version dvd.
resedit.dll
1033reseditui.dll
rcxdti.dll
1033rcxdtiui.dll
autolayt.dll
1033autolaytui.dll
run regvsdll to register resedit.dll,there is no need to register any other dlls(they are not COM dll)
 
5. now,start your vc 2008 express,you can create AMD64/IA64 platform configurations,and you can edit *.rc comfortably.
 
enjoy these hack~!Don’t forget email me interesting things you found.my address: ywjheart.at.gmail.com.
You may contact me by email to get the source code of regvsdll or other help if need.
Advertisements

1 Comment

  1. 目前的很多微软出的东西都是使用这套安装程序,功能够强,定制性也很高.这套IDE也类似,微软现在的很多产品都是用这套IDE.

    Like

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s