PDA

View Full Version : Rampant Confusion!



Gorilla
07-11-2008, 06:01 PM
Just upgraded from Express 2.02 and 3.01 which I have used for years, to Express 2008.

I import an .iwz module from a project into Express 2008, go through all steps I can determine, try to insure file list is correct, etc.---then build a CD package.

Test that package on my Xp test machine >>> seems to install Ok but when running my app I get major failures!

This from a package/iwz that installs/runs great when built with Express-2.

Forms open without some controls, error messages that Active-X can't do something, etc. Program unloads itself.

Go back & check file list again---finally find that many system32 files have not been imported. Try to force onto the file list---keep getting questions about "merge modules" which I don't know what is or what the contents are or why I should be involved with them anyway?

Beginning to dislike Express 2008 only after 2 days messing >>> certainly not as easy or reliable as my old versions! And navigation within 2008 is a bummer because it takes me somewhere wherever else or refuses to provide info I think I need---that I was just using or looking at moments ago.

Have already read lots of help topics, but...Anybody have any clue to what I am doing wrong or where in "Help" I should be reading?

DebbieL
07-12-2008, 07:55 PM
For starters, the following help topics might help, if you haven't already seen them:

Migrating Projects from InstallShield Express 2.x (http://helpnet.acresso.com/Robo/BIN/Robo.dll?tpc=/robo/projects/isxhelp14/MigratingISE2.htm)
Migration Errors and Warnings (http://helpnet.acresso.com/Robo/BIN/Robo.dll?tpc=/robo/projects/isxhelp14/IHelpISXMigrationErrors.htm)

If you want to learn more about any area in InstallShield, you can press F1. InstallShield opens the help topic that applies to that view.

Merge modules are available in the Redistributables view (go to the Installation Designer tab, then in the View List in the left pane: Specify Application Data > Redistributables). You can add a merge module to your project if you want its files to be installed during your installation.

Can you provide some specific details about the issues that you are encountering? Are any build errors or warnings displayed when you build your CD package?

Gorilla
07-13-2008, 07:42 AM
Hi Debbiel,

Thank you for the post. As it happened I had already read the 2 references you mentioned, but did not know about the F1 > Help. No I don't get any Errors during the build process but do always get 2 (Minor?) warnings only whenever I build from an imported .iwz file and warnings about extracting com information on other files.

When I generate a project, either with the wizard or by importing an existing .iwz file made in Express 2.02, the resultant full/single install is LARGE! With Express 2.02 my install package was around 13 Mb., with Express 2008 it is around 19 Mb. This is very heavy overhead and will negatively impact distribution of my software!

Part of the problem, I think(?) is that 2008 insists in including "merge" modules that I can't or don't know how to reliably get rid of, can't edit, don't think I need, and certainly DON'T want---in that this is the same software installed for years under 2.02 successfully in Win-98se, Win-2000 and Win Xp---without these modules.

I have seen the window pane for Redistributions in 2008 and have tried disabeling inclusion of merge modules here, but after selecting files some modules check-box are grayed out and unchangable.
Also, when adding/editing the system32 file list, I get pop-up's asking if I want to include a merge module, I always click NO---later checking the redistribution pane shows lots of modules checked anyway (which I then un-check what I can).

I want to completely disable any involvement with merge modules so that I alone determine what files are included in my package. This will favorably impact both my problems! Any suggestions, comments or...

Thanks & regards,
Bill

DebbieL
07-14-2008, 08:21 AM
What do you mean by generating your project (a) "with the wizard" or (b) by importing an existing .iwz file? Do you mean that you've tried (a) re-creating your project from scratch, and also (b) opening your .iwz file in InstallShield 2008 Express (which converts your .iwz file to an IS 2008 Express project)? I think I'm a little confused by what you mean by the wizard.

What specific system32 files are you trying to add? I'm wondering if the crashes are occurring because some of the files that would be included as part of the merge modules are not getting installed. Some of the files may have dependencies on other files that are not being included in the installation.

About this:

I have seen the pane for Redistributals in 2008 and have tried disabeling inclusion of merge modules here, but some modules check-box are grayed out and unchangable
Which merge module check boxes are disabled? Some merge modules have dependencies on other merge modules. If you include in your project a merge module that has a dependency on another merge module, that dependency is automatically included. The main merge module won't work without the dependency also being present on the target system.

Gorilla
07-14-2008, 05:32 PM
Express 2008 offers options in initially building a VB-6 project,
1) Import an existing Express 2.02 .iwz file from some project. with this a few steps are automated such as inclusion of system and app files then configuring Express 2008 so it is near ready for a build. Merge modules included automatically.
2) Use the Wizard in 2008, with this I scan a running version of my app and the wizard selects files. Merge modules included automatically.
3) Build from scratch, just started on this attempt today and getting better results, where I select the system and app files to be included in the project. Merge module pop-ups during file-list edit.

In all 3 variations merge modules become apparant early!

I guess I did not express myself clearly, in that this first project with Express 2008 is in building a package that has, in variation, been in successful distribution for many years, with a 16-bit installer. Now I want to use Express 2008 to build the same package with a 32-bit installer. I know from experience exactly ALL FILES that must go into a build, including support, etc., for my app to run correctly & without causing crashes on the target computer.

Procedure 2 OR 3 above---When I edit the file-lists to include needed files, at various points I get a pop-up re: merge modules. Even though I select not to include, apparantly some files are included anyway. I surmise this from the changing size of the resultant setup file after a build, with reference to the same result & same files when building a setup with Express 2.02.

I speculate that the crashes are occuring because files with dependencies in these merge modules are added from a different source than files I select---possibly being incompatable(?), not needed.

As an example, one control I use requires OLEAUT32 and OLEPRO32 be installed on the target computer, with appropriate support files. Since at least Windows 98se these 2 files are always already on a system so are not included in my old package---Express 2008 merge modules DOES include these 2, though not needed now or wanted. And I have no idea what files the merge module includes as support/dependencies for these two. Because if the support for these 2 files are not correct versions---major crashes occur!

Hope this is a better explanation of what is happening.

Bill

DebbieL
07-15-2008, 01:15 PM
Thank you for the detailed explanation. I now have a better understanding of what you are encountering.

If you're using method 1 (where you explained that you imported the Express .iwz file) or 2 (used the wizard in Express), merge modules may automatically get included in your project. If you want to remove them, you can clear their check boxes in the Redistributables. Note that to see a merge module's dependencies: In the Redistributables view, select the merge module. Then read the Details pane on the right. (The Details pane is probably hidden by default. You may need to "unhide" it by clicking the Show Details hyperlink in the upper-right corner of this view.) If a merge module has dependencies, they are listed in this pane.

It sounds like you'd prefer to manually add some Microsoft files to your project and have them installed to the system folder at run time, rather than have InstallShield automatically add the corresponding merge modules to your project. Manually adding a third-party file individually to your project, rather than using the file's merge module or other redistributable package provided by the third party, is strongly discouraged. Many of the files may rely on other files being present. In addition, some files rely on specific versions of other files. Although you may figure out how to configure your installation so that your product is successfully installed and runs fine, there is a risk that other applications on a target system that depend on the same third-party files may stop working. Also, other applications that are installed after your product is installed may break your product.

One thing you may want to consider for reducing the size of the installation: Note that the Windows Installer redistributable is probably included in your installation by default. If you're sure that all target systems will have the Windows Installer, you may want to exclude it from your installation. I think that it takes up about 4 MB. To remove the Windows Installer redistributable that may be included automatically by default:

In the View List under Prepare for Release, click Releases.
In the center pane, select the release type that you are building. Its settings are displayed in the right pane on several tabs.
Click the Setup.exe tab.
For the Setup Launcher setting, select one of the options that does not include the MSI engine.

To learn which versions of Windows have which versions of Windows Installer, see Released Versions of Windows Installer (http://msdn.microsoft.com/en-us/library/aa371185(VS.85).aspx).

Gorilla
07-15-2008, 03:12 PM
Greetings and thank you very much for the info!

Making progress now---after reading your last post I went back to the Redistributables pane on Express 2008---find that if I keep cycling through the list multiple times eventually I get to the point where all are deselected (previously had only made one pass and found that some modules would not deselect, just turned gray (am supposing in these instances they depended on some other module being deselected first).

Realize the potential problems with building a file-list myself as opposed to using say the .iwz and including merge modules, etc., but acquiring knowledge of what files needed to be included with my app has been long and painfull! Express 2.02 and 3.01 does not have much similarity here. So when starting with Express 2008---finding that my build would not run correctly and was so large I started looking for reasons and the major difference I could see was the merge modules.

It is now apparant that if I am to make progress here I require a lot more familiarity with Express 2008.

The info about the installer is probably correct in accounting for the increase in size of my build, need experiments here.

(Plus, in all my recent experiments here and messing with various install tests, I find that Vista-Home will occasionally perform an install built with Express 2.02---where I had previously been informed that it would only run 32-bit software(???)

Really appreciate you help!
Bill