Установщик Windows не завершается ошибкой, когда пользовательское действие возвращает ошибку - PullRequest
2 голосов
/ 06 октября 2011

Я пытаюсь изменить пользовательское действие типа 3137 и источника .dll (скажем, цель DWORD InstallFunction( MSIHANDLE hInstall )), чтобы вернуть некоторые коды ошибок в определенной ситуации, и я ожидаю, что установщик окна завершится ошибкой и предложит мнес сообщением об ошибке или чем-то.

Однако, когда я возвращаю код ERROR_INSTALL_USEREXIT (или любой код ошибки в этом отношении) из вызванного модуля, программа установки полностью игнорирует возвращенное значение и продолжаетзавершить установку, как будто ничего не произошло.

Как мне также вызвать сбой программы установки?Я новичок во всей API / концепции установщика Windows, поэтому буду очень признателен за любые советы.

1 Ответ

2 голосов
/ 07 октября 2011

Для настраиваемого действия установлен флаг msidbCustomActionTypeContinue. Таким образом, установщик игнорирует код возврата. Снятие этого флага решит проблему.

http://msdn.microsoft.com/en-us/library/windows/desktop/aa368071(v=VS.85).aspx

...