I have vendor supplied MSI which once installed does not register one of it's exe's. If I run "%progfiles%appfolder\applet.exe /regserver" it registers fine. I've noticed the original MSI has custom actions to do this, but these actions are not called (it would seem).

My problem is where to put the register and unregister CAs in the installexecutesequence table? So far I've put unregister at 1525 with a condition of REMOVE="ALL" (after the installinitialize and installvalidate actions) and put register at 6405 condition NOT Installed (after pubfeatures & pubproduct and before schedreboot & installfinalize). The result of this sequnce is that I get a 1721 error.

To get around this I've tried setting the unregister sequence to 0 to eliminate that as the problem and it still produces the same error. I'm not sure why as the file should be installed at that point. Am I calling this CA too late? Will the source no longer be valid?

I've had a look at the MSDN suggested sequence and a few other pages but am still none the wiser.

Would appreciate suggestions.

I'm using Orca btw (to get a better understanding of the MSI structure in general).
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
In the excute deferred tab after install finalize trying registring the exe using custom action or add the related registry entries in between the condition IF NOT INSATLLED.
And for unregistering if your using custom action regsvr32 /u %path%file.exe try inbetween insatll intizalize and validate or in the install finalize include the registry that
You want to remove in the custom action inbetween the condition IF REMOVE = ALL
Answered 04/02/2005 by: venki_msi
Senior Yellow Belt

Please log in to comment
0
Right ok, I managed to work out from an MSDN article that the register CA had to be after installfinalize, as you suggest venki_msi and this works fine. However, I can't seem to get the uninstall ca to work. I've tried putting it where you suggested. If I use /unregserver it doesn't unregisters and gives no error. If I use %system32%regsvr32.exe /u "%app%app.exe" it says that file cannot be found. Can you suggest where I'm going wrong?

thanks
Answered 04/04/2005 by: meastaugh1
Senior Purple Belt

Please log in to comment
0
Try putting the custom action after the line "find related product" in both executeimmediate and in user interface within the condition IF REMOVE = "ALL" AND
also make sure that your custom action is running proper if run that alone.
r you using wise cutom action or vb script?
Answered 04/05/2005 by: venki_msi
Senior Yellow Belt

Please log in to comment
0
Right ok, it was the customaction type. The vendor had said it to 274, changed to 18 and all was well.

Thanks
Answered 04/19/2005 by: meastaugh1
Senior Purple Belt

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