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

CAs from Merge MOdules


4 replies to this topic

Johannes John

Johannes John
  • Full Members
  • 223 posts

Posted 11 November 2008 - 11:07

Hello,

I've the suspect, that CAs from MSMs don't run correct.

I've in MSM

CA hugo.msmGUID
DIR1.msmGUID [DIR2] 35

DIR1.msmGUID is a directory from the MSM.
DIR2 is a property from the main MSI.
CA type 35

The called and running (seen in LOG file) CA does not seam to change the value of DIR1.msmGUID.

What do I do wrong?

Thanks in advance.
Johannes


luke_s

luke_s
  • Full Members
  • 532 posts

Posted 12 November 2008 - 01:17

Once a merge module is merged into the project, there is no reference to the merge module anymore.

Just want to confirm what you are trying to do.

The CA in MSM needs to set DIR1.msmGUID to the value of DIR2?

What does the row look like in the MSI file for the CA once you have merged in the merge module?

Are you sure that DIR1.msmGUID is an entry in the 'Directory' table, even after its merged?

Have you tried running a validate on your MSI package? This might pick any syntax issues you have.

Johannes John

Johannes John
  • Full Members
  • 223 posts

Posted 12 November 2008 - 11:38

Hallo Luke,

thanks for your reply.

Yes, the CA in the MSM has to set DIR1.msmGUID to the value of DIR2.
DIR2 is a property of the MSI.

The CA row in the MSI looks like:
CAname.msmGUID 35 DIR1.msmGUID [DIR2]
It's included in the MSI over the ModuleInstallExecuteSequece table after CostFinalize.

The DIR1.msmGUID is an entry in the MSI.
In the MSM it looks like:
DIR1.msmGUID DIR0.msmGUID dir1default
And there I've found an other problem where in the MSI this row looks like:
DIR1.msmGUID TARGETDIR DIR0.msmGUID

But as long as the DIR1.msmGUID entry exists in the MSI direcrory table, the CA from the MSM should be able to set the directory.
A CA from the MSI with this function is sucessfull.

My IS2008 seams to have a problem, when including the MSM directory table.
The WI 3.1 seam to have a problem with CAs included from an MSM.

Where do I do something wrong?

Regards!
Johannes

luke_s

luke_s
  • Full Members
  • 532 posts

Posted 12 November 2008 - 21:59

If the action works when you add it to the MSI, but not from the merge module, then you need work out what the difference is between the tables when you do this.

W3.1 doesn't have a problem, it will most likely be a bug with install shield.

Can you look at the msi with ORCA and post exactly what each of the fields are set to for the custom action in the merge module, and then in the MSI file once you have merged the merge module?

Its really hard to work out what each field is from the description below.



Johannes John

Johannes John
  • Full Members
  • 223 posts

Posted 13 November 2008 - 09:44

Hello Luke,

yes, my ORCA is running.

and in the MSM file
in the directory table:

BIN.1DB33933_1A68_409A_A15D_D08664812093
INSTALL.1DB33933_1A68_409A_A15D_D08664812093
bin

BIN_EN.1DB33933_1A68_409A_A15D_D08664812093
BIN.1DB33933_1A68_409A_A15D_D08664812093
en

CRR_NET2005_BIN.1DB33933_1A68_409A_A15D_D08664812093
CRR_NET2005_BO27.1DB33933_1A68_409A_A15D_D08664812093
BIN_t

in the CA table:

set_LOC_CRR_NET2005_BIN.1DB33933_1A68_409A_A15D_D08664812093
35
CRR_NET2005_BIN.1DB33933_1A68_409A_A15D_D08664812093
[LOC_CRR_NET2005_CF]


In the MSI file
in the directory table

BIN.1DB33933_1A68_409A_A15D_D08664812093
TARGETDIR
BIN.1DB33933_1A68_409A_A15D_D08664812093

BIN_EN.1DB33933_1A68_409A_A15D_D08664812093
TARGETDIR
BIN_EN.1DB33933_1A68_409A_A15D_D08664812093

CRR_NET2005_BIN.1DB33933_1A68_409A_A15D_D08664812093
CRR_NET2005_BO27.1DB33933_1A68_409A_A15D_D08664812093
BIN_t

in the CA table:

set_LOC_CRR_NET2005_BIN.1DB33933_1A68_409A_A15D_D08664812093
35
CRR_NET2005_BIN.1DB33933_1A68_409A_A15D_D08664812093
[LOC_CRR_NET2005_CF]

Sset_LOC_CRR_NET2005_BIN
35
CRR_NET2005_BIN.1DB33933_1A68_409A_A15D_D08664812093
[LOC_CRR_NET2005_CF]

in the InstallExecuteSequence table:

set_LOC_CRR_NET2005_BIN.1DB33933_1A68_409A_A15D_D08664812093
LOC_CRR_NET2005_CF<>""
1001

Sset_LOC_CRR_NET2005_BIN
LOC_CRR_NET2005_CF<>""
1009


The BIN... and the BIN_EN... directory seam to be an IS import MSM problem.

But the execution of the set... CA returns 0.
The execution of Sset... CA returns 1 and a PROPERTY CHANGE:...

Regards!
Johannes