0

安装 Shield 2009 Premier,基本 MSI 项目。自定义操作属性是:

  1. 类型:在托管程序集中调用公共方法
  2. 位置:存储在二进制表中
  3. 指定类和方法名,它显示一个消息框(以便我确定它被调用)并返回 13 个整数值。[没有选择任何返回属性,不知道该选择什么]
  4. 返回处理:同步(检查退出代码)
  5. 脚本内执行:系统上下文中的延迟执行
  6. 安装执行顺序:安装后初始化
  7. 安装执行条件:NOT REMOVE

所以在安装过程中我得到了公共方法中的消息框,但是安装没有退出?如何从自定义操作的返回类型(托管程序集的公共方法)中退出安装?

4

1 回答 1

0

确保函数的返回类型是intor uint(或Int32or UInt32),并且您没有使用自定义签名。使用这种组合,返回值将直接传递给 Windows Installer,并且诸如 1602、1603 等的值按照http://msdn.microsoft.com/en-us/library/aa368072(VS.85 ) 执行您所期望的操作).aspx。对于自定义签名或返回属性,或者不是简单整数的返回类型,Windows Installer 将始终被传递ERROR_SUCCESS。如果您不关心出口的确切外观(尤其是在日志中),则抛出异常将导致ERROR_INSTALL_FAILURE被传递给 Windows Installer。

于 2009-08-03T14:49:35.353 回答