"Windowless ActiveX controls are not supported" error on Vista using VS2008 Pro RTM

M

Mark

Hi,
I've posted this message also vstudio.development so my appologies
I'm having this strange behavior ever since I've upgraded to VS2008.
I'm using a ActiveX for viewing PDF's in my application. This contol works
great on a XP machine but gives me the error 'Windowless ActiveX controls
are not supported' when run on a Vista machine.
This control has worked for me the last year without any problems, but
stopped after I compiled with VS2008 using MSbuild that came along with .NET
3.5 (I build on a TFS 2005 server)
When I put in VS2008 on vista an other activeX dll, I get the same error so
the error has nothing to do with my viewer component.

What could be the cause of this ?

YIA,
Mark
 
J

jsnahil

Hi Mark,

You may alreday have discovered the reason for this behaviour. In case
you have not, this may help. I experienced the same problem with
another ActiveX that stopped working when compiled with VS 2008 and
tried to run on Vista. My investigation found that the failure only
occurs if:

1. The application that uses the ActiveX is compiled with VS 2008
AND
2. The machine that is running Vista has Data Execution Protection
switched on
AND
3. The machine's CPU implements the DEP


If I switch DEP off using the following procedure then the ActiveX
works fine:

Run a command prompt as administrator. From the start menu, select
"All Programs", then "Accessories" and right-click on the "Command
Prompt" shortcut and choose "Run As Administrator". From here you can
use the following command to disable Data Execution Prevention (DEP)
with the following command:

bcdedit.exe /set {current} nx AlwaysOff

I found the above at http://www.realtime-vista.com/administration/2007/04/disabling_data_execution_preve.htm
I am not sure if this solution would be acceptable to all our
customers!

Regards,
Joginder Nahil
www.starprint2000.com
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top