Jump to content


This is a ready-only archive of the InstallSite Forum. You cannot post any new content here. / Dies ist ein Archiv des InstallSite Forums. Hier können keine neuen Beiträge veröffentlicht werden.
Photo

Custom Action 7 - How do I do it?


7 replies to this topic

Ken Gross

Ken Gross
  • Members
  • 14 posts

Posted 13 August 2002 - 22:50

Hello,

 I am trying to generate an msi package.  The package consists of whatever packages are needed on the client. (These are pre existing basic msi packages)

 I am able to embed them in the binary table just fine, but when I attempt to run the generated msi install package the program throws an error.

 I am executing the custom action(s) after cost finalize in the InstallExecuteSequence.  The custom actions are defined as:

Action: "Action1"
Type: "7"
Source: "Action1a"
Target: "MSIEXEC.EXE /i Default.msi INSTALLDIR="[INSTALLDIR]" "

The Action1a is in the binary table and consists of a streamed in msi package named default.msi (I'm so original).

Eventually, I need this to be able to support multiple packages generated dynamically.

Thanks in advance,
Ken

Johannes John

Johannes John
  • Full Members
  • 223 posts

Posted 14 August 2002 - 15:58

Hello Ken,

up to now I have only used CA 23 and in the Target I would only use
INSTALLDIR=[INSTALLDIR]

Perhaps this helps in CA 7 too!
Johannes

Ken Gross

Ken Gross
  • Members
  • 14 posts

Posted 14 August 2002 - 16:47

I changed the target as suggested, and it doesn't appear to be the solution I get error 2731.

Thanks again,
Ken

Johannes John

Johannes John
  • Full Members
  • 223 posts

Posted 14 August 2002 - 17:01

Hello Ken,

have a look at InstallShield's Knowlege Base article Q105706.

Perhaps...

Regards!
Johannes

Ken Gross

Ken Gross
  • Members
  • 14 posts

Posted 14 August 2002 - 20:06

Unfortunately, I have to be able to put the install package together dynamically.

The components will sit on a server and send down to the client depending on the users installed base and the components we have published.

I have been up to a point able to build the baby packages, but when I try to add them to a larger package for installation, it has failed miserably.

Currently, I am receiving an error 2731 which indicates that the "Selection Manager is not initialized."  I do not know if this is because I am using the child install packages in the wrong sequence as the install location comes up blank.

I am getting frustrated. Oh wait, I am already frustrated.

Thanks again,
Ken

Ken Gross

Ken Gross
  • Members
  • 14 posts

Posted 14 August 2002 - 22:37

Doh!

The error 2731 was because I had removed the components and files from my package so it had no idea where to install it to!

Freking dumb user!

Now I have removed that but now get that Blank cannot install one of its required components. Well, I feel closer anyway. Now I get to go through the log file and try to make sense of it.

Thanks all,
Ken

Ken Gross

Ken Gross
  • Members
  • 14 posts

Posted 14 August 2002 - 22:58

OK, here is my log, or at least the pertinent part:

Action ended 17:37:23: CostFinalize. Return value 1.
MSI (s) (A4:F0): Doing action: Action12
Action start 17:37:23: Action12.
MSI (s) (A4:F0): Note: 1: 1713 2: PRODUCTNAME Base Application 3: 1631
Error 1713. PRODUCTNAME Base Application cannot install one of its required products. Contact your technical support group.  System Error: 1631.

Here is my definition for action 12:
Action: Action12
Type: 7
Source: Action1
Target: INSTALLDIR=[INSTALLDIR]

Action1 is in the binary table and is a plain jane embedded MSI package that installs one file. (not even a registerable file)

Sorry to bother everyone on this, but hoping someone smarter than I am (Which means everyone reading this list) has a clue what I am now doing wrong.

Thanks again,
Ken

Ken Gross

Ken Gross
  • Members
  • 14 posts

Posted 23 August 2002 - 21:11

I got this working,

My problem was that I wasn't streming the msi into the _Streams table. I was putting it into the Binary table.

Now that I can nest tem, I have to figure out how to fore them to install where I want them to install.

I'm thinking about a custom action.
Any takers?

Possibly CA 51 and reading the target from the registry where another program which has to be on the system would have made registry entries for.

Thanks again,
Ken