InstallShield无法使用.NET Installer

时间:2016-04-13 12:38:33

标签: installer installshield custom-action

过去,我已向安装程序添加了.NET Installer类文件,并在安装的“提交”和“卸载”阶段执行自定义操作。我最近在2016年2月使用此配置构建了我的安装程序。

但是,在使用错误1001(通用.NET Installer类异常)调用.NET Installer类时,最近的安装程序构建安装在安装过程中失败了。

我尝试使用单个DLL创建新的安装程序;当.NET Installer类设置设置为No时,安装完成,并将单个DLL复制到安装目录。当.NET Installer类设置设置为Yes时,我在安装期间点击了错误1001消息。

对于此测试设置,.NET Installer类未设置为在“提交”,“安装”,“回滚”和“卸载”覆盖中执行除调用之外的任何操作:

namespace My.Namespace.Install
{
  [RunInstaller(true)]
  public partial class Installer : System.Configuration.Install.Installer
  {
    public Installer()
    {
      InitializeComponent();
    }

    public override void Commit(IDictionary savedState)
    {
      base.Commit(savedState);
    }

    public override void Install(IDictionary stateSaver)
    {
      base.Install(stateSaver);
    }

    public override void Rollback(IDictionary savedState)
    {
      base.Rollback(savedState);
    }

    public override void Uninstall(IDictionary savedState)
    {
      base.Uninstall(savedState);
    }
  }
}

在输出日志中,我只看到错误1001消息的以下内容:

  

MSI(E0:98)[08:19:18:014]:创建790536型的MSIHANDLE(5)   对于主题9368

     

MSI(s0)(E0:C8)[08:19:18:014]:调用远程自定义操作。 DLL:   C:\ Windows \ Installer \ MSIC3AD.tmp,Entrypoint:ManagedInstall

     

MSI(E0:98)[08:19:18:014]:生成随机cookie。

     

MSI(s)(E0:98)[08:19:18:014]:使用PID创建自定义动作服务器   7520(0x1D60)。

     

MSI(E0:98)[08:19:18:061]:作为一项服务运行。

     

MSI(E0:98)[08:19:18:077]:您好,我是您的32位高架   非重新映射的自定义操作服务器。

     

MSI(s)(E0!7C)[08:19:18:108]:创建790531型的MSIHANDLE(6)   对于线程8828错误1001.

     

MSI(E0!7C)[08:19:19:306]:

     

MSI(E0:C8)[08:19:19:306]:泄漏的MSIHANDLE(6)类型790531   对于主题8828

     

MSI(E0:C8)[08:19:19:306]:注意:1:2769 2:   _4AE00A18A12F07BD1929A5512BB0EE07.install 3:1信息2769.自定义操作_4AE00A18A12F07BD1929A5512BB0EE07.install未关闭1   MSIHANDLEs。 CustomAction _4AE00A18A12F07BD1929A5512BB0EE07.install   返回实际的错误代码1603(注意如果这可能不是100%准确   翻译发生在沙箱里面)

     

MSI(E0:C8)[08:19:19:306]:关闭790536型的MSIHANDLE(5)   for thread 9368 Action 8:19:19:InstallFinalize。返回值3。

错误1001消息出现两次(对于安装,然后在安装失败后,对于回滚)。我曾在InstallShield 2011和InstallShield 2014 Premier中尝试过,并且遇到了相同的结果。

最近是否有使用这些.NET Installer类文件的能力发生了变化,还是我可以执行其他步骤来尝试找出正在发生的事情?

1 个答案:

答案 0 :(得分:0)

在构建计算机上卸载.NET 4.6并重新安装.NET 4.5.2似乎解决了这个问题。