|
I'm new to this, so if I've done anything wrong, please tell me
I work on a pretty large VB6 application. The distribution of it is pretty problematic. My sort of "dream" is to automate the build and packaging process with some repeatable scripts (batch-files?).
I want to ship the application with the nullsoft installer system - nsis. I got lot's of referenced libraries and components (dlls, ocx) that the package and deployment wizard of vb6 gathered for me.
The problem now is to make sure that all needed libraries are installed in the correct version.
How can I make that sure?
Should I ship the dlls/ocx as cab-files? Can nsis do a kind of conditional installation of dlls/ocxs?
Thanks!
best regards
Andreas
|
|
|
|
|
Truthfully, you should be scrapping the entire VB6 project and redoing it in .NET. VB6 has been dead for quite a number of years now and community support for it is dying rather quickly.
|
|
|
|
|
Well, thanks for that advice . I wish I could do that for quite a long time.
We took the project from another developement company, and it's that huge that it can't be redone in .NET as fast as we would need. The former compapy worked on that application for 10 years and so it became pretty complex.
We have to live with VB6 there :/
regards
Amdreas
|
|
|
|
|
fancyRocko wrote: We have to live with VB6 there :/
No, you will be phased out, with VB6.
Huge applications aren't rewritten in a single action; you replace parts of it, bit by bit. It's either that, or become part of history.
Bastard Programmer from Hell
if you can't read my code, try converting it here[^]
|
|
|
|
|
Yikes! Good luck with that!
Honestly, it's been 11 years since I've touched anything VB6. I remember the Setup and Deployment wizard sucked.
As for NSIS, I really couldn't tell you what it's going to take to automate this. I think that's going to be a question for NSIS.
|
|
|
|
|
Okay. It seems that you're right. I'll try to convert the application peace by peace to .NET.
I needed your expert impact for that decision - thanks!
|
|
|
|
|
I feel for you because I used to do that work as well.
Back in the VB6 day.
We used Wise installer to create and deploy our builds, Like VB6 the version we used is no longer supported, but I still use it on my Win7 installs(for another dead language) and it has a very simple method of conditionally installing a file.
I don't use nor do I know NSIS, but it appears the equivalent functionality might be
GetFileAttributes
and/or
GetFileVersion coupled with some flow control logic.
With that in mind, Is it actually necessary to check versions of every file? Could you use a single file to be your gauge. That is, can you check the version of abc.dll or xyz.ocx and based on that version number run a completely different branch of the installer script that could update your dependencies?
One Last comment about large VB6 apps, I found that using two installs was very helpful.
The first install was a CORE installer. It installed all of the dll, ocx, exe files that were dependencies. This was a heavy(big) installer.
The second install was much lighter and it was used to install the primary components of the application. as well as update individual components from the CORE. This file was used to push out updates to the software.
Of course both files were needed for new installs.
This worked well for us because of our business model.
Last, I did have a scriptable builder for VB6, I'll dig around a bit to see if I still have it. It may be something I can share.
rum
|
|
|
|