PDA

View Full Version : Multiple Installs



GoinOff
04-08-2002, 04:01 PM
I'm starting my first project with InstallShield that will install a
GIS application on a server. One of the components is a .exe
that installs all of the run time GIS OCXs & dlls. This component
was supplied by the GIS vendor and I'd like to use it in my new
InstallShield project. What is the best way to include this run
time GIS component in my InstallShield project??

Thx,

John

Peerke
04-09-2002, 03:01 AM
The best way would be to make a merge module.

Regards,


Peerke

GoinOff
04-09-2002, 05:31 PM
Thanks for the info... The file that distributes the run time files is
an .exe. It needs to be run with certain flags. Can I make a
merge module out of this .exe or do I have to use the scripting language?? I looked in help and couldn't find information related
to creating a new msm file.

Thx,

John

Xcygnus1
04-09-2002, 06:46 PM
Try using the repackager and then create a merge module from the msi created by the repackager. I did this to with a similar project and it required a little fuss but overall worked great!
:)

GoinOff
04-10-2002, 09:55 AM
Thanks for the info!! I was able to create a MSI file from the
.exe using the repackager...but now I'm not sure how to get
the merge module?? Should I create a new merge module
project and include the MSI file?? or is there another way??

Thx,

John

Xcygnus1
04-10-2002, 10:57 AM
I'm not sure if I did it the most efficient way possible, but here's what I did after creating the msi from the repackager:

1) Created a new merge module project, with nothing in it.
2) Opened the 'repackaged' MSI project
3) Exported the components from the repacked MSI to the merge module project (do this by right clicking the component and choosing Export).

The downside was that I had to export components individually, but I couldn't find another way to do it (nor did I really try to figure out another way). Your idea of including the msi file in the merge module may work (I have not tried this approach).

My merge module ended up working very well...I use it as a conditionally installed component on a number of different setups.

GoinOff
04-11-2002, 03:52 PM
Thanks for the help Xcygnus1!! Could you explain step 3 with
more detail. I was able to open the repackaged MSI and then
under the 'Advanced Views' I found components. When right
clicking the the summary lines I found 'Export' and then it ask
for a file name..How will these component get into the merge module project??

Thx again,

John

Xcygnus1
04-11-2002, 04:18 PM
Specify the folder and name of the project file for the merge module...for example C:\..\MySetups\Mymerge.ism
Try exporting one, then open your merge project and you'll see the component in there...works like a charm!

GoinOff
04-11-2002, 05:58 PM
Will the repackager handle installation scripts from WISE?? The
exe used to create the .inc was an install program created using
WISE. I tried running the msi created from the repackaged .inc file
and it doesn't work. It spits out some message about finding the
windows folder on a network (very wierd!!!). Shouldn't I be able
to run the msi created from the .inc?? Anyhow, I can't seem to
find any components beyond 'RegistyData_Machine'
and 'RegistryData_User' in the 'Component' view under
'Advanced Views'. If I look at 'Files' under 'RegistryData_Machine'
and 'RegistryData_User' there is nothing listed. Any ideas??

Thx,

John

Xcygnus1
04-11-2002, 06:46 PM
I ran into similar errors with the repacked file (I hope they fix this in 7.03). The repackager seems to create some bogus aliases in the directory table of the MSI file. All I did was remove the bogus entries in the Directory table and Properties table (under the Direct Editor screen) and it worked. Keep in mind that you will need to designate the correct folders for your components, which are easily interpretted from these bogus entries from the repackager. A common example of a bogus entry is it will list "windowsfolder" instead of [WindowsFolder]. This will cause the error. I tried correcting the bogus entries, but it didn't liek that either so I just deleted them and it didn't seem to matter.

As for the files missing from the install, it may be that you weren't able to get a good simulated installation. The repackager will clone the WISE install in the sense that it will reproduce all the files copied, registry entries, shortcuts, dll registering, and even determine merge modules required. In essense, it is taking a before and after snapshot of the machine and creating an MSI file based upon the results.
The only way you can make sure you are getting a good clone of the original setup is to install it on a 'virgin' machine. For instance, you may not have the files you need because you ran the simulation on a computer that already had the setup run on it, therefore files were not copied/overwritten since they were already there, and registry entries weren't made because they were already there, etc.

FYI the setup I cloned into a merge module was also done by WISE. As I mentioned previously it took a little fussing, but the end result was worth it.

GoinOff
04-17-2002, 04:13 PM
Hi,

I was finally able to create a new merge module from the WISE
installation containing runtime files. The trick was running the
repackager on a 'Virgin' system. After exporting each each
component from the repackage msi to the merge module project,
I was able to build OK but the "Validate Merge Module" feature
kicked out a bunch of errors (ICEM06 & ICEM03). I had to correct
a few thing with direct editor:

* Correct paths in 'Directory' table
* Add each component to the 'ModuleComponents' table.
* I also had to delete a few entries under 'Advanced Views',
'Components', pick component, 'Advanced Views', 'COM'. I had
to delete some entries here to avoid ICEM06 Error (Checks for
invalid references to features by the module). I'm not so sure
that deleting these entries was the right thing to do?? The
doc for ICEM06 says: 'To fix this error, references to a feature
should be replaced by a null GUID'

I included the new merge module in a standard project and it
installed all the file just fine. I'm a little worried about deleting
the com entries and what effect that might have on the
installation.

Thanks for the help!!

John

Xcygnus1
04-17-2002, 04:43 PM
John,
I'm glad you got it working (I was starting to wonder whatever became of it). The changes you made sound very much like what I had to do to get mine working. I didn't document everything I did, which was why I wasn't able to give you better direction.
The errors related to GUID are pretty easy to fix if you can actually determine which GUID reference it is having a problem with. Typical problem with MS stuff...errors are too ambiguous and only tell you what but not where :rolleyes:
I agree with you that the COM entries should be left alone and not deleted.
The nice part is...your module is done and you can use it in multiple setups, etc. and NEXT time you'll have an easier go at it :o
I hope they are polishing up the repackager some in 7.03...imagine how slick it would be if it would just create the package without the bad entries in the first place...

-Eric