I created a CA which should be executed just after "CreateFolders" (it will set the right privileges to my INSTALLDIR).
In the MSI debugger I saw that my CA seems to be launched just after "ISSelfRegisterCosting". At this step of the Setup, the INSTALLDIR is of course not yet created and my CA fails!
Once I reach "CreateFolders" it skips my CA and continue with "MoveFiles"...
Where am I wrong?
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.
Custom Action not executed when it should
Started by
kgiloo
, Sep 19 2006 15:03
5 replies to this topic
Posted 19 September 2006 - 17:07
Did you change the PackageCode with each build (InstallShield usually does this automatically for you). Otherwise you may be running an older version.
Generate a verbose log to see what#s going on.
Remember that your custom action must be scheduled for deferred execution.
Generate a verbose log to see what#s going on.
Remember that your custom action must be scheduled for deferred execution.
Stefan Krüger
InstallSite.org twitter facebook
Posted 20 September 2006 - 07:54
Good, I changed the CA to "Deferred action" and the CA occurs at the right place now.
In my doc, it is said that a deferred action should always have a Rollback action though there's no need to create one in this case, that's why I decided to choose the "immediate execution". Obviously I was confused by the documentation.
But now I have another poblem, my exe is in the SUPPORTDIR and when I try to invoke it, it seems to be empty.
MsiGetProperty(hMSI, "SUPPORTDIR", svSupportDir, nvSize);
==> SUPPORTDIR = "";
How can I retrieve SUPPORTDIR?
In my doc, it is said that a deferred action should always have a Rollback action though there's no need to create one in this case, that's why I decided to choose the "immediate execution". Obviously I was confused by the documentation.
But now I have another poblem, my exe is in the SUPPORTDIR and when I try to invoke it, it seems to be empty.
MsiGetProperty(hMSI, "SUPPORTDIR", svSupportDir, nvSize);
==> SUPPORTDIR = "";
How can I retrieve SUPPORTDIR?
Posted 20 September 2006 - 11:54
I compared the 2 modes "immediate" and "deferred":
immediate mode -> SUPPORTDIR is accessible
deferred mode -> SUPPORTDIR is empty
There's a lot of posts about this topic but cannot find any good hint to solve the problem.
immediate mode -> SUPPORTDIR is accessible
deferred mode -> SUPPORTDIR is empty
There's a lot of posts about this topic but cannot find any good hint to solve the problem.
Posted 20 September 2006 - 12:04
Yes, that's expected. You will need to use the CustomActionData detour.
Stefan Krüger
InstallSite.org twitter facebook
Posted 20 September 2006 - 16:15
That's okay!
The link I used to handle the tricky CustomActionData:
http://www.installsi...s/en/msi/ca.htm
Nevertheless, I'am a bit disappointed that my privileges are just set for the installdir folder only and not for the subfolders and files copied in installdir like it used to work with IS6.
The link I used to handle the tricky CustomActionData:
http://www.installsi...s/en/msi/ca.htm
Nevertheless, I'am a bit disappointed that my privileges are just set for the installdir folder only and not for the subfolders and files copied in installdir like it used to work with IS6.