Abrolen Posted May 26, 2009 Posted May 26, 2009 Hi! Didn't find related topic, so creating new one. Is it possible to use ActiveX controls and dynamic libraries without installing an application, by simply running EXE file? It’s means there is no temporary files, all ActiveX controls and DLLs are used from memory buffer. And there is no need to register DLLs. Thanks!
Richard Robertson Posted May 26, 2009 Posted May 26, 2009 (edited) ActiveX can be used without being registered but the technology was designed to be registered first. Use standard dll functions if you don't want to register anything. Edited May 26, 2009 by Richard Robertson
Abrolen Posted July 25, 2009 Author Posted July 25, 2009 Thanks, but I've found an easier solution: BoxedApp SDK http://boxedapp.com/
Richard Robertson Posted July 25, 2009 Posted July 25, 2009 The program you linked to is about virtualization. It doesn't affect how ActiveX objects still have to be registered.
Creator Posted July 26, 2009 Posted July 26, 2009 (edited) I work with non-registerred dll's with the help of a little tool called ILMerge. My Steps to succes >_< : * Register the dll on your development system with regsvr32 (eg. AutoItX3.dll) * Reference the dll from your project in a IDE of choice (i use sharpdevelop). * Use the methods and properties you need from the dll in your code. * After compiling your assembly there will be a interop.<dllclassname>.dll in your bin directory * now comes the trick: you can merge the assembly and the interop dll into a new single executable with ILMerge.exe From now on you exe will run from any system without having registered the dll on that system. Get ILMerge here: http://www.microsoft.com/downloads/details.aspx?FamilyID=22914587-b4ad-4eae-87cf-b14ae6a939b0&displaylang=en Cheers -edit- example use for merging AutoItX3.dll: "ilmerge" /target:winexe /out:New-Executable-Merged.exe Old-Exe-Name.exe Interop.AutoItX3Lib.dll(-> was created by referencing AutoItX3.dll) Edited July 26, 2009 by Creator
Richard Robertson Posted July 26, 2009 Posted July 26, 2009 I'm surprised that actually works. I was under the impression that the interop assembly still called the locally registered object and was just a wrapper for it.
Creator Posted July 27, 2009 Posted July 27, 2009 I'm surprised that actually works. I was under the impression that the interop assembly still called the locally registered object and was just a wrapper for it.I double checked that remark. And you absolutely right. I wasnt aware that my target systems had AutoItX3 already registered (i believed it was not).I did a regsvr32 /u and tried again.....after the tears had dried, i saw that the dll indeed must be registered./me gets a broom and puts together a broken dream... ;-)Cheers
Richard Robertson Posted July 27, 2009 Posted July 27, 2009 Combining the interop assembly with the main assembly does make it a bit cleaner though. Points for trying.
aef03 Posted January 12, 2011 Posted January 12, 2011 Thanks, but I've found an easier solution: BoxedApp SDK http://boxedapp.com/Are you used BoxedApp together with Autoit or instead of autoit ?If you are using it together, do you know if an autoit exe can be instantiate the boxedapp apis so that anything it is doing and calling is virtualized?
lovespell88 Posted February 9, 2011 Posted February 9, 2011 To fix activex controls, try uninstalling then re-installing it afterwards. To do this, click on Tools and select Manage Add-Ons > Enable/Disable Add-Ons. Choose Downloaded ActiveX Controls and highlight the ActiveX control you want to delete. Delete it and go to the website where you downloaded your ActiveX control and reinstall the it correctly.
StarDrago Posted February 8, 2012 Posted February 8, 2012 Interesting discuss it's powerful SDK for developers but few people have heard about it.
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now