过去,我已向安装程序添加了.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类文件的能力发生了变化,还是我可以执行其他步骤来尝试找出正在发生的事情?
答案 0 :(得分:0)
在构建计算机上卸载.NET 4.6并重新安装.NET 4.5.2似乎解决了这个问题。