WiX — пользовательское действие vbscript с функцией session.message

Я хочу показать пользователю диалоговое окно, в котором говорится: «Это будет удалено при этой установке», и если нажать «ДА» или «ОК», установка может быть продолжена; в противном случае я хочу прервать его.

Поэтому я определил пользовательское действие (запустить vbscript) следующим образом:




  NOT Installed AND NOT PATCH AND NOT MYPRODUCT_ANYVERSION=""

VBSCRIPT (ShowUninstallInformationDlg.vbs):

'ShowUninstallInformationDlg
Option Explicit

Dim text
Dim productName
Dim rec

productName = Session.Property("ProductName")
text = "The following installations are going to be removed with the installation of " & productName & ":"

If Session.Property("MYPRODUCT_ANYVERSION") <> "" Then
  text = text & "\n    * MyOtherProduct (any version)"
End If

Set rec = Session.Installer.CreateRecord(1)
rec.StringData(0) = text

Session.Message &H0B000034, rec

Тип «&H0B000034», который я использую в качестве аргумента «Session.Message», взят из примера из в MSDN см. http://msdn.microsoft.com/en-us/library/windows/desktop/aa371672(v=vs.85).aspx.

Всегда выполняется сценарий. В моем журнале MSI появляется следующая ошибка:

Ошибка 1720. Проблема с этим пакетом установщика Windows. Не удалось запустить сценарий, необходимый для завершения этой установки. Обратитесь в службу поддержки или к поставщику пакета. Пользовательское действие Ошибка сценария ShowUninstallInformationDlg -2147467259, Ошибка Msi API: Сообщение, Вид, Строка записи 19, Столбец 1,

Я много искал в Google примеры с использованием Session.Message, но безрезультатно... Может ли кто-нибудь помочь? Спасибо!

0
задан moik 24 February 2012 в 11:19
поделиться