Package & Deployment Wizard - vb6

I developed a program in VB 6.0 and used Package & Deployment Wizard to build an Setup exe file installer, but my software contained some dependency folder and the VB Package & Deployment only allows files, not folders.
Does anyone know any other types of Packages & Deployment or setup generator that I can use?

You're asking the right question. :) The PDW was never a stable enough solution to risk using it in a production environment. It never fully solved the "DLL Hell" problems that come up with it.
One of the main problems was that after the PDW was released, OS service packs started disallowing replacement of numerous DLL files that were used by the OS. This was the only way that they could solve the ubiquitous version problems that were plaguing server installations everywhere. They never did anything with the PDW to address this change. So, if your installation package includes a DLL file that the OS doesn't allow you to replace, the OS won't register it. Then, when you reboot as part of the installation process, the PDW errors out and tries to reboot again, and you get caught in an endless loop of reboots. Very very bad. If you should be interested, I wrote this up in detail here back in '03.
There are plenty of solutions for what you're trying to do, and some of the other answers give some of them. Microsoft's own solution is the Visual Studio Installer, which you can read up on here. This is the one that builds those .msi files that you see all the time; msi = Microsoft Installer.

Try using iexpress.exe, it's built in with windows for creating windows installation packages, it's fairly simple to use and i know it works for windows7, 10, and probably others too! You can search in the start menu to find it or use the run dialog box, or command prompt, just type in iexpress.exe and there you go, i make a few vb6 setup programs this way.

Related

What software created the installer exe for 'Windows Embedded Standard 7' (legacy code) - how to find out?

We have a legacy exe installer, that our company runs on Windows Embedded Standard 7 to install a program.
We don't know how to re-recreate it since we don't have any source code for it, no project files, etc... just the exe. We pretty much know what it does:
changes to windows registry
changes to environment variable
changes to windows log
changes to windows service
We currently work on VS2019 and wanted to create a similar exe installer in VS2019, but as far as we can tell it only has msi installer.
There are two questions we need to answer:
A. What program or software created the existing SomeName.exe?
B. If we can not figure out what program created the existing one, what open source or free software should we consider to create an exe installer to get the above steps?
Some screenshots of what dialog boxes we encounter upon install/uninstall are attached:
installation step 1
installation step 2
Thanks

Make a COM registering DLL installer (for beginners)?

I've made multiple C# DLLs in MS Visual Studio which I then access from Excel via VBA calls. These work fine on my machine (obviously VS COM registers them for me when compiling as long as I have the right boxes ticked). I also got them working on other machines by searching my registry for any seemingly relevant keys to each of the DLLs, and copying the entries into other machines registries. Obviously that's madness though, so I want I want to make a simple installer so I can install said COM DLLs on other machines easily.
Since I have a windows forms app in there to test all the DLLs, I figured it makes most sense to just make an installer for that app, and the other DLLs should get installed as they're dependencies. Right-clicking, and publishing gives me the setup.exe. I can then install this on the other machines. But the DLLs aren't COM registered on the new machine, so although the test app works, I can't actually use them from Excel/VBA.
What do I need to do? (googling only seems to turn up pretty old stuff that I can't seem to follow with older versions of VS)
I'm using the full version of VS 2019.
I'm using the basic right-click/properties/publish to make a setup.exe and associated folders.
I may get more options by adding an MSIX installer project into the solution? But I've never done that before so when I tried the learning curve of that it seemed a nightmare and wouldn't compile, largely complaining I didn't seem to have an icon of every size under the sun included. Trying to use VS to auto-generate them from 1 image caused VS to crash every time. I can try sitting in paint making them all manually if that's my only option, but it may be pointless if I don't need and MSIX installer anyway.
At this point I'm also interested in just COM registering them manually for sanity sake without typing in the registry entries, and can work on the installer later. But as far as I can tell regasm/gacutil aren't on any of these other machines. (I also haven't used that before, so am somewhat confused by which I should use, and if I need to do it for both x86 and 64.)
I'm a noob to VS installers, DLLs and the registry (and associated terms), so please try keep it simple. Although obviously I've got as far as making C# DLLs I can call from VBA (once COM registered), and they otherwise work a treat.

Error: Can't install nuget package because of “Failed to initialize the PowerShell host”

Im having an error of Can't install nuget package because of “Failed to initialize the PowerShell host” when trying to implement PostSharp through nuget package,
when I try to compile/run a project that uses PostSharp automatically opens a PostSharp kind of Wizard Screen that advises me that I should update the packages via Nuget, and then occurs the error.
My OS is Windows 8.1 x64, and the thing is that I DON'T HAVE PowerShell installed, I removed it permanently by removing pre-installed packages from the OS (from the Windows Image before installing it) because PowerShell was a totally unneeded component for my experience (until now),
then I cannot or I don't know how to recover a PowerShell.exe (with all its dependencies) without resintalling the full SO, merging to find and copy all the needed files from a Virtual-Machine could be a nightmare?.
So, I cannot open an imaginary powershell instance to run this command that is supposed to solve the problem with nuget (as explained here: http://patrickdesjardins.com/blog/failed-to-initialize-the-powershell-host):
Set-ExecutionPolicy Unrestricted
I also tried to download and install Windows Management Framework 4.0 which is supposed to install Powershell v2.0 but one of that 3 msu packages says that is not applicable to my OS, and the other msu packages says something so strange about can't recognize the certificate or the signer (sory, I don't know the error message translation in English language).
What can I do to solve that NuGet's PostSharp problem? maybe is not necessary to have powershell at all?
Hate to say it, but you are out of luck. Powershell is required to use nuget, and if you maimed Windows you will have to reinstall.
Word to the wise. Never muck with the internals of what Windows installs for packages aside from unchecking them in the wizard. Eventually you will need some software that needs that component, and you will be cursing when it happens. I say this also from a position of experience, so don't take it too harshly... Lol.
To my surprise and benefit I solved it in an easy way just copying the contents of these directories from a Guest OS to my Host OS to "recover" PowerShell functionality or better said NuGet functionality in VisualStudio.
C:\Windows\System32\WindowsPowerShell\v1.0
C:\Windows\SysWOW64\WindowsPowerShell\v1.0
Simply as that, copy & paste contents and now I can update/download Postsharp without any kind of error, it properly downloads the packages.

Install wizard for my windows form application - or not?

I am wondering about the need for an install wizard for my little Windows Forms application. No database access, just file access on a shared network drive.
I have seen times when an executable is sent in an email, copied to a desktop and used.
Other times when an 'install wizard' seems to be used to set up the application.
What dictates the need for this or not?
And if I want to use one - what needs to be added to my windows form app?
If your application is truly just an .exe file, it's probably okay to distribute it as-is without an installer. This might be preferable for more advanced users, because they won't have to worry about cleaning up a broken/unwanted install - they can just delete the file and be done with it.
On the other hand, most Windows users are used to working with installers, and having shortcuts automatically created on the desktop or Start->Programs. This is where an .msi can really help. Also, using an installer will usually put your application in the "Add or Remove Programs" control panel, which most people know how to use. Also, if your application is more than just a single .exe file (e.g. multiple .dlls and resource files), you'll probably want to use an .msi.
Creating an installer is easy, look at "Setup Projects" in Visual Studio.
An installer is almost always a good idea, because it can work out what dependencies your application has - which you may not even be aware of.
It also looks more professional and users will have more confidence in it.
There's an open source installer called NSIS that's pretty good, if you find the Visual Studio setup wizard too clunky, as I sometimes have.
Sometimes simply copying a file just isn't sufficient, this is when you need a setup program.
Checking if the correct version of .NET is installed
Installing C++ runtime dependencies
Creating a desktop shortcut
Setting up "default" configuration data
Adding exceptions to the Windows Firewall
Preventing installation on unsupported systems such as Windows 95/98/ME
etc, etc.
If your program is a stand-alone application with no dependencies and can run on a stock-standard install of Windows 95... then you don't need to worry about setup ;) But if your app has any external dependencies then you want to spend some time on setup.

How can I setup the VB project?

Using VB6
I want to setup the Project, Last time I used VB 6 Package and Deployment wizard. It asks to modify some system file. I modified my system file, and then it worked. Now again I want to setup my new project, is asking to change the system file.
Once I set up the project, is asking to change the system file and crystal report files (like crystl32.ocx… etc)
Is showing error like, “out of stack space”, “out of system date” etc...
Why is always asking to change?
What is best way to setup a vb project? If there is any software is available for setup a project.
Always am getting a problem for setup a VB 6 project, please Can any one help to solve my problem?
I've been using Advanced Installer (for VB.NET projects, but that doesn't matter), the free version is very capable and easy to use.
But to answer your question, sounds like the package wizard has got itself in a bad state. I'd re-install VB6 in that case.
In my experience the VB6 Package and Deployment wizard is pretty useless. I recommend you look at commercial installation software like InstallShield or Wise.
If you have Visual Studio 2002 or above, you could also try hacking a .NET setup project to install your VB6 components. It is capable of self-registering COM binaries, creating Start menu shortcuts, etc.
Have a look at the answers to these questions
What is the best simple install system [for VB6 programs] on Windows XP and Vista
What is the best choice for building windows installers
Do you have a copy of Visual Studio? You can use that to create installers instead.
You may use some other thirdparty software like installshield to create the setups. As far as I see they are much flexible.
Wise installer is one of other similar products.
Microsoft is now offering a replacement for the Package and Deployment Wizard that may help you out. Visual Studio Installer

Resources