Hello Guys.

Here is a tricky one. I have two packages. A and B. B requires A installed.

Now A is a setup driven package. i.e a setup calls an MSI module. While B is a MSI package.

Now when I install A and then B , all is fine.

But i need A to be a MSI module alone (rather than setup driven). Hence I make changes and get it done.

Now A(msi) and B install fine . But the problem is when I launch application B , I get an error saying that a DLL is missing and reinstalling the package will fix the problem.

This DLL is a part of package A . And is present where it is supposed to be.

What I thought was maybe A (setup) and A (msi) have differences and hence compare both using picture taker.There are no differences whatsoever. Now I am stuck. Is A(setup) doing something during runtime which I am able to figure out?

The DLL by the way fails to register. But works fine with the setup driven pack anyways.

A---> Shared ICU Libraries for Teradata. ( just a bunch of DLLs)
B---> BTEQ for Teradata.

Appreciate your help.
0 Comments   [ + ] Show Comments

Comments

Please log in to comment

Rating comments in this legacy AppDeploy message board thread won't reorder them,
so that the conversation will remain readable.

Answers

0
It sounds like the set-up executable is set to execute an MSI but also contains a bunch of script (e.g. WiseScript, InstallScript, whatever). It wouldn't be the first time I've come across that.

Having been burned early on in the process of learning about packaging, part of my packaging process is to run the vendor's install over the top of mine, using a lightweight snapshotting tool (I use Ziff-Davis's In Control - Google for 'InCtrl5.ZIP) to determine any changes. Your situation is vaguely similar so:

- install package A's MSI
- temporarily change the registry entry which tells Windows Installer that a product is installed - you want to avoid the 'Modify/Repair, Uninstall' scenario when re-running the install as detailed below. This will be HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall\[Product Code for Product A]. Generally, I simply add an underscore prefix to that key.
- do a 'Before' snapshot of the machine
- run the Setup.EXE
- do an 'After' snapshot of the machine
- add the *relevant* changes to a transform for A's MSI.
Answered 02/07/2008 by: VBScab
Red Belt

Please log in to comment
0
VbScab

Thanks for the reply. As you rightly pointed there is a ISSCRIPT that setup drives. However having removed setup from my MSI (issetupdriven=1) , I manually install isscript and then go ahead with A and B.

Like I mentioned I do not finad any difference in the registry entries nor any file entries when I compare the setup and MSI i.e.

So is there something the exe does on the run? like register the dll or something i dont know.

Do you still want me to do what you have suggested?
Answered 02/07/2008 by: gomtesh
Senior Yellow Belt

Please log in to comment
0
Vbscab.

It worked. You were spot on. I did what you suggested, used repackager tool and found out that the Exe puts an Environment Variable ( a location to that dll). Although Picture taker did see that, there were too many entries and I somehow missed it.

Thanks for the help! much appreciated.
Answered 02/07/2008 by: gomtesh
Senior Yellow Belt

Please log in to comment
Answer this question or Comment on this question for clarity