过去,我在安装程序中添加了一个.NET安装程序类文件,在安装的提交和卸载阶段执行自定义操作。我上一次用这种配置构建安装程序是在2016年2月。
但是,最近的安装程序构建安装在安装过程中失败了,当到达应该使用错误1001调用.NET安装程序类时,这是一般的.NET安装程序类异常。
我尝试使用单个DLL创建一个新的安装程序;当.NET安装程序类设置设置为No时,安装完成并将单个DLL复制到安装目录。当.NET安装程序类设置设置为Yes时,我在安装过程中遇到了错误1001消息。
对于此测试设置,除了在提交、安装、回滚和卸载重写中调用基之外,.NET安装程序类不会执行其他操作:
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消息周围的如下内容:
(E0:98) 08:19:18:014:为线程9368创建类型为790536的MSIHANDLE (5) MSI (E0:C8) 08:19:18:014:调用远程自定义操作。DLL: C:\Windows\Installer\MSIC3AD.tmp,入口点: ManagedInstall MSI (E0:98) 08:19:18:014:生成随机曲奇。 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:为线程8828错误1001创建790531类型的MSIHANDLE (6)。 MSI (E0!7C) 08:19:19:306: MSI (s) (E0:C8) 08:19:19:306:线程790531类型的泄漏MSIHANDLE (6) MSI (E0:C8) 08:19:19:306:注: 1: 2769 2:_4AE00A18A12F07BD1929A5512BB0EE07.install 3: 1 Info 2769。自定义操作_4AE00A18A12F07BD1929A5512BB0EE07.install没有关闭1个MSIHANDLEs。CustomAction _4AE00A18A12F07BD1929A5512BB0EE07.install返回实际错误代码1603 (注意,如果在沙箱内进行翻译,这可能不是100%的准确性)。 MSI (s) (E0:C8) 08:19:19:306:关闭线程9368动作类型790536的MSIHANDLE (5)结束8:19:19: InstallFinalize。返回值3。
错误1001消息发生两次(对于安装,然后在安装失败后,发生回滚)。我在2011年的InstallShield和2014年的InstallShield都试过,并经历了同样的结果。
最近使用这些.NET安装程序类文件的能力是否发生了一些变化,或者我是否还可以执行其他步骤来尝试了解发生了什么?
发布于 2016-04-13 14:08:13
卸载.NET 4.6并在构建计算机上重新安装.NET 4.5.2似乎解决了这个问题。
https://stackoverflow.com/questions/36598665
复制相似问题