Retrieving DLL Metadata from VBScript? - dll

Using only VBScript (launched from Windows Scripting Host) can I pull the DLL metadata from kernel32.dll? Specifically, I'm looking for the version info and the architecture specified in the DLL header. Can this be done without any dependencies?

If you're just looking for the version, you can use the FileSystemObject.
If you're looking for other thing pieces of info besides FileVersion, there's some pre-written code here.

Related

MPXJ library with VB6 , is it possible?

I'm trying to communicate my application VB6 (et VBA) with MS Project 2007 so I would like to use the MPXJ library. The problem is that I dont know if it's possible to use these .net libraries with my VB6 application. I cant add the .dll directly
How could I do this, ideas? I can't migrate my code to vb.net
thanks
I'm pleased to say that MPXJ can be used via COM. You'll need to download version 4.5.0 from SourceForge. In the lib.net directory you'll find the DLLs and TLBs you'll need. You will need to use regasm to register the assemblies for use with COM. There are some brief notes here on working with MPXJ via COM.
You may find the notes here useful as they discuss the three different flavours of mpxj.dll that are shipped, and MPXJ's dependencies.
I'd be happy to update the documentation on working with MPXJ via COM in the light of your experience!

Restsharp dll compiled for Compact Framework 3.5?

I'm building a windows mobile 6.0 application and I wanted to use restsharp library to consume data from a rest service. I've found information that RestSharp can be compiled for compact framework 3.5 (as is not available from the official site).
But, does anybody have successfully compiled the assembly for CF? If yes, could anybody provide a link to download the assembly. Thanks
I do not know a download location for the ready-to-use assembly.
I would start a new CF2 project and in another instance of VS open the original restsharp solution. Additionally open two file explorer to copy files of the restsharp source to the new CF2 project directory. You should maintain the same solution layout and folders (if any). Then copy the files over to CF2 dirs and use Add Existing Files in the CF2 solution. You need to use the same namespace and project and solution names (makes live easier).
Now try to compile. If you are lucky, everything compiles without error. But mostly you have to either adjust code or write CF2 compatible wrappers. If there are two many FullFramework constructs that can not be 'emulated' in CF2, you may have to give up. But as you said, there are CF compatible sources.
You mentionend CF3.5 and asked for CF2. Possibly RestSharp will only compile as CF3.5 assembly.
See also: RestSharp: Don’t Serialize null Properties
BTW: the GitHub repo (https://github.com/restsharp/RestSharp) shows a CF solution file RestSharp.Compact.sln and RestSharp.Compact.csproj. These should work with VS2008.

Can I package and utilize a dll with an MFC ActiveX Control Object?

I've been able to create a signed CAB file for web deployment containing my control and dll, but my control seems unable to access classes and functions in my dll even though it is listed as a dependency in the CAB's inf file. For all my research, I can't even tell if what I'm trying to do is "allowed". Followup: if it is possible to talk to a non-com dll, is it a security risk?
I'm using msvc 2010. Thanks for your time!
Pretty certain what I was trying to do wasn't possible. Ended up creating a class library instead so that I could reference and include the functions I needed at compile time.

Registration free COM: VB6 Executable referencing VB6 DLL

So, I've got a single VB6 executable that references multiple VB6 COM DLLs. Is it possible for me to generate, on-the-fly, a manifest for the executable as well as a manifest for each of the referenced DLLs? If so, then how?
I would like to perform this operation as part of our build process without having to register the COM DLLs as part of the process.
NOTE: All the reg-free COM examples that I've found so far involve .NET interop, which is not a requirement for what I'm doing.
[EDIT]
After performing some preliminary testing using Unattended Make My Manifest, I've found that its just not as user-friendly as I would like. And, since there's only a Sample.ini file for documentation I've had a pretty hard time understanding what should be put into that file compared to what doesn't need to go into that file. Anyways, I've decided to craft manifests using my own tool. Hopefully, I'll get permission from my employers to release the code as open source.
*For now, if you're in the same position that I'm in and you would like to create a build and production environment that uses side-by-side/registration-free COM interactions, just know that its possible. I would recommend crafting them by hand with a simple DLL and consumer app at first, and then incrementally building on that until it suites your specific needs.**
We are using Unattended Make My Manifest in daily builds to create portable versions. It creates a single manifest that can be embedded to the executable with mt.exe
You could try Make my manifest which is a tool to create the manifest for a VB6 program. I don't know whether it can run automatically as part of a build process.

DLL Building Question

I have my sources split up in several directories, so for each directory I get back a DLL. Is it possible to create a DLL from several other DLL's ?
EDIT: I'm using C++ with Windows CE Platform Builder 6.0 ( it's not managed )
There is no tool that will do this automatically for native code DLLs. You would have create a new DLL and add the existing source code to that project. However, doing this is likely to require changes to the source code.
Use ILMerge
Here you can download this.
Here is Sample for implementation.
You can't create one DLL from multiple DLLs. Any such tool would be awkward since each DLL could have it's own DllMain.
You CAN create a DLL from multiple static libraries though. It shouldn't be too hard to reconfigure your setup that way.