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

Is MSI 1603 error dialog suppressable?


6 replies to this topic

CSM_BF

CSM_BF
  • Members
  • 9 posts

Posted 23 September 2003 - 20:13

When I return ERROR_INSTALL_FAILURE from a custom action and the install rolls back, the user ends up seeing a 'Feature transfer error'' popup telling them Error: -1603, Fatal error during installation.

Is there any way to supress that popup in this case?

I'm wondering because if the custom action that fails has given the user a clear explanation of why the failure occurred, it's a shame to have the install process end with the above relatively cryptic message.



Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 24 September 2003 - 11:08

Displaying a dialog in a custom action can be a problem for silent installs.
Consider this alternative:
Your custom action sets a property and returns success.
After your custom action you insert another custom action, type 19, that will display your error message and abort the setup, if the property is set. This will not display the error message in a silent install, and it will log the error message to the log file.

CSM_BF

CSM_BF
  • Members
  • 9 posts

Posted 24 September 2003 - 15:53

Good point, I took the approach of passing in a property to the custom action that gives the UILevel so that if the install is silent, no dialogs are displayed. I'll look at the type 19 CA - it looks like a good approach.

But this doesn't address the question I have. For a non-silent install, if a custom action returns ERROR_INSTALL_FAILURE, after the rollback, right before the install ends, I get a popup titled "Feature transfer error" with the text "Error -1603 Fatal error during installation. Consult windows Installer Help (Msi.chm) or MSDN for more information".

This last popup is the one I don't want to see, especially after I have given a more direct explanation of the failure when it happened (a dialog from the custom action, or a custom action

I assume this 1603 dialog is coming from the Windows Installer service, but maybe it's InstallShield?




CSM_BF

CSM_BF
  • Members
  • 9 posts

Posted 24 September 2003 - 16:26

wait a minute, maybe you did answer my question. sorry, still asleep.

maybe if a type 19 aborts the install, you don't see that generic feature transfer error 1603 popup...



CSM_BF

CSM_BF
  • Members
  • 9 posts

Posted 24 September 2003 - 17:41

talking to myself today :)

Anyway, a type 19 custom action doesn't help me here because the error that causes the install to abort is happening in a deferred custom action.

That's proably the issue here. From within a deferred custom action I'm erroring out (returning ERROR_INSTALL_FAILURE).

When the deferred thread of the install errors out, it causes a different thread to throw up that 1603 feature transfer error.

(Which I'd like to suppress)


Zweitze

Zweitze
  • Full Members
  • 522 posts

Posted 25 September 2003 - 08:37

What happens if you return ERROR_INSTALL_USEREXIT ?
The docs suggest you return this value when the user requested the exit, so I would be surprised if the Windows Installer shows an error message.

Before returning the value, you can show a message with MsiProcessMessage (I think this also works in deferred CAs.

CSM_BF

CSM_BF
  • Members
  • 9 posts

Posted 26 September 2003 - 16:37

good idea, i'll try it.

I am curious how others handle fatal errors encountered in deferred custom actions.