I have found that it is enough to simply have:
#include "VMProtectSDK.h"
Added to my COM Dll code and nothing else, no API calls, no markers not even protecting it, to produce:
LoadLibrary("Project.dll") failed. The specified module could not be found. In response to: regsvr32 Project.dll
Comment out the //#include "VMProtectSDK.h" and recompile and regsvr32 succeeds!
Windows XP SP3
VProtect Demo
VS2008
Solved:Problem registering 32 bit COM Dll - no protection.
-
- Posts: 75
- Joined: Wed Oct 30, 2013 5:24 pm
Solved:Problem registering 32 bit COM Dll - no protection.
Last edited by bitman2112 on Sat Nov 02, 2013 2:47 am, edited 1 time in total.
Re: Problem registering 32 bit COM Dll with no protection.
It seems that you forgot to put VMProtectSDK32.dll/VMProtectSDK64.dll into the directory with Project.dll.
-
- Posts: 75
- Joined: Wed Oct 30, 2013 5:24 pm
Re: Problem registering 32 bit COM Dll with no protection.
Thanks for the reply.
No, they're there alright.
I had it all working even with VProtect, but had not as yet re-registered the dlll as it was already registered.
On a hunch, I thought I would see if the dll would un-register / re-register. It did not.
So I commented all the VProtect code out but forgot to comment out the the include #include "VMProtectSDK.h.
And it would still not register the dll with the system.
So I commented the #include "VMProtectSDK.h out and voila! we register.
Un-commented it and we fail to register it
I really need to solve this as I was so very close to ponying up for this Ultimate.
Thanks.
:Ron
No, they're there alright.
I had it all working even with VProtect, but had not as yet re-registered the dlll as it was already registered.
On a hunch, I thought I would see if the dll would un-register / re-register. It did not.
So I commented all the VProtect code out but forgot to comment out the the include #include "VMProtectSDK.h.
And it would still not register the dll with the system.
So I commented the #include "VMProtectSDK.h out and voila! we register.
Un-commented it and we fail to register it
I really need to solve this as I was so very close to ponying up for this Ultimate.
Thanks.
:Ron
-
- Posts: 75
- Joined: Wed Oct 30, 2013 5:24 pm
Re: Problem registering 32 bit COM Dll with no protection.
Further Findings:
It is not simply having #include "VMProtectSDK.h there that causes the problem
It only appeared that way for a while. - this made little sense anyway.
It turns out that after commenting out all the API calls, a Rebuild Project.dll was required to be able to register the dll.
This was with #include "VMProtectSDK.h in there. - Sorry for the confusion.
Now, if I un-comment say, the: int res = VMProtectSetSerialNumber(serial); The code compiles and links but will not register the COM dll with the system, Whether I rebuild the project or just build it.
Thanks for all your assistance.
:Ron
XP SP3
VMProtect Demo
VS 2008
It is not simply having #include "VMProtectSDK.h there that causes the problem
It only appeared that way for a while. - this made little sense anyway.
It turns out that after commenting out all the API calls, a Rebuild Project.dll was required to be able to register the dll.
This was with #include "VMProtectSDK.h in there. - Sorry for the confusion.
Now, if I un-comment say, the: int res = VMProtectSetSerialNumber(serial); The code compiles and links but will not register the COM dll with the system, Whether I rebuild the project or just build it.
Thanks for all your assistance.
:Ron
XP SP3
VMProtect Demo
VS 2008
-
- Posts: 75
- Joined: Wed Oct 30, 2013 5:24 pm
Re: Problem registering 32 bit COM Dll with no protection.
Ooooo K.
I have *solved* it - maybe.
It seems that VMPROTECTSDK32.DLL needs to be in the output folder not the source code folder for registration to take place. I found this out using dependency walker.
From the FAQ:
Is it necessary to include VMProtectSDK32.dll/VMProtectSDK64.dll to installer?
No. These libraries are necessary until you protect the application. After protection VMProtect replaces every call to the libraries with the calls of embedded module, so you don't need those files anymore.
-- I once was blind but now I see....
:Ron
I have *solved* it - maybe.
It seems that VMPROTECTSDK32.DLL needs to be in the output folder not the source code folder for registration to take place. I found this out using dependency walker.
From the FAQ:
Is it necessary to include VMProtectSDK32.dll/VMProtectSDK64.dll to installer?
No. These libraries are necessary until you protect the application. After protection VMProtect replaces every call to the libraries with the calls of embedded module, so you don't need those files anymore.
-- I once was blind but now I see....

:Ron