Zero touch deployment (cant find the dlls)


I have a winform on a server which normally holds .net .exes ready for zero touch deployment.  It normally allows me to copy the required dll into the same deployment directory on the web server.  The zero touch deploy normally works fine.

However,  for some reason it didnt work with DSO ActiveX Document Framer Control.  This ActiveX has two dlls which are needed to run my application.

If i double click on my application from windows explorer which the two dlls are in the same directory the program works fine.  But it will not work when i try to zero touch deploy?

The error message i get is below

IEEExec.exe - Common Lauguage RUntime Debugging Services
Application has generated an exception that could not be handled
Process id=0,560(1376), Thread id=0x708(1800)

If I press cancel I get the next error message

Microsoft CLR Debugger
An unhandled exception of type 'System.Threading.ThreadStateException' occurred in mscorlib.dll
Additional information: Could not instantiate ActiveX control '00460182-9e5e-11d5-b7c8-b8269041dd57' because the current thread is not in a single-threaded apartment.

please help
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

DSO Framer is a COM control. It's not a .NET control. Note that the assemblies for interop are just a shim, and not the actual code.
It will require not only COM registration, as well as some dependent .DLLs (like Crt...)

You'll need to provide some pre-setup or just copy the DSO dlls, and do regsrv32 on the ocx one. (i think there should be a .ocx one...)

The next problem is security.
With the default policies you'll not be able to create the DSO control... (it memory doesn't fail, that should require UnmanagedCode permission or even FullTrust)
So, you should make sure that the policy in place for the source of the app has the necessary permissions



Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
.NET Programming

From novice to tech pro — start learning today.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.