错误2869 [英] Error 2869

查看:172
本文介绍了错误2869的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我们有一个通过安装项目安装的应用程序,并且在过去的4 - 5年中显然工作正常,该应用程序是在vs2005中编写的。


最近我们需要将项目升级到vs2010。


现在vs2010项目无法升级客户端计算机上安装的最新版本。我可以完全手动卸载上一个版本然后安装新版本,但我无法成功完成升级。我收到错误2869.我已经完成了
msiexec /我app.msi L * vx c:/logfile.log并使用WiLogUtil.exe来检查输出。


看起来成为自定义操作数据问题,但为什么现在呢?


我将粘贴我们使用的代码,基本上只接受布尔类型的命令行参数。然后尝试删除一些注册表项。


我们的应用程序Called Installer中有一个继承自System.Configuration.Install.Installer的类。

 Private Sub Installer_AfterUninstall(ByVal sender As Object,ByVal e As System.Configuration.Install.InstallEventArgs)处理Me.AfterUninstall 

尝试

如果String.IsNullOrEmpty(Context.Parameters(" ForceUninstall"))_
OrElse Not CBool​​(Context.Parameters(" ForceUninstall"))then
DeleteRegistryValues()
End if

Catch ex As Exception
Throw ex
End Try

End Sub

然后删除代码注册表项。

 Private Sub DeleteRegistryValues()

尝试
尝试
如果不是My.Computer .Registry.LocalMachine.OpenSubKey(String.Form at(" Software \ {0} \ {1}",My.Application.Info.CompanyName,My.Application.Info.ProductName))Nothing,然后
My.Computer.Registry.LocalMachine。 OpenSubKey(String.Format(" Software \ {0}",My.Application.Info.CompanyName),True)_
.DeleteSubKeyTree(My.Application.Info.ProductName)
结束If
Catch
结束尝试

如果不是My.Computer.Registry.LocalMachine.OpenSubKey(String.Format(" Software \ {0}",My.Application。 Info.CompanyName))。SubKeyCount> 0然后
My.Computer.Registry.LocalMachine.OpenSubKey(" Software",True)_
.DeleteSubKeyTree(My.Application.Info.CompanyName)
结束如果

Catch ex As Security.SecurityException
'什么都不做
Catch ex As Exception
抛出
结束尝试
结束子

最后在自定义操作下的安装项目中。


我们有一个名为CleanUp的卸载自定义操作,源路径指向我们的主要输出。 CustomActionData如下所示。


/ ForceUninstall =" [FORCEUNINSTALL]"



可以有人告诉我为什么会出现升级错误?



这是安装程序遇到的第一个错误。

(SERVER)MSI(sC)(6C:28)[14:38:39:831]:执行op:CustomActionSchedule(Action = _BF66368A_B4D4_40BE_8AC5_22C0247B0C0C.uninstall,ActionType = 1025,Source = BinaryData,Target = ManagedInstall,CustomActionData = / installtype = notransaction / action = uninstall / LogFile = / ForceUninstall =""" C:\Program Files(x86)\WW Wood Products Inc \ CabinetDoorWorkFlow \WWCabinetDoorWorkFlow。 exe"" C:\ Users \ GARYAR~1 \ AppData \ Local \ Temp \ CFG671E.tmp")
(SERVER)MSI(s)(6C:28)[14:38 :40:190]:为线程3880创建类型790536的MSIHANDLE(59)
(服务器)MSI(s)(6C:B0)[14:38:40:190]:调用远程自定义操作。 DLL:C:\ Windows \Installer \ MSI6ECA.tmp,Entrypoint:ManagedInstall
(SERVER)MSI(s)(6C!80)[14:38:40:502]:创建MSIHANDLE(60)类型790531 for thread 2176
(SERVER)MSI(s)(6C!80)[14:38:40:502]:注意:1:2262 2:错误3:-2147287038
(UNKNOWN )DEBUG:错误2869:对话框ErrorDialog设置了错误样式位,但不是错误对话框
(CLIENT)MSI(c)(40:5C)[14:38:40:611]:创建的字体。字符集:Req = 0,Ret = 0,字体:Req = MS Shell Dlg,Ret = MS Shell Dlg
(UNKNOWN)
(UNKNOWN)安装程序在安装此软件包时遇到意外错误。这可能表明此包装存在问题。错误代码是2869.参数是:ErrorDialog ,,
(CLIENT)MSI(c)(40:5C)[14:38:42:249]:产品:橱柜门工作流程 - 安装程序遇到安装此程序包时出现意外错误。这可能表明此包装存在问题。错误代码是2869.参数是:ErrorDialog ,,
(UNKNOWN)
(UNKNOWN)错误1001.
(SERVER)MSI(s)(6C!80)[14:38 :42:249]:注意:1:2262 2:错误3:-2147287038
(服务器)MSI(s)(6C!80)[14:38:42:249]:
(SERVER )MSI(s)(6C:B0)[14:38:42:249]:790531型泄漏MSIHANDLE(60)线程2176
(服务器)MSI(s)(6C:B0)[14: 38:42:249]:注意:1:2769 2:_BF66368A_B4D4_40BE_8AC5_22C0247B0C0C.uninstall 3:1
(SERVER)MSI(s)(6C:B0)[14:38:42:249]:注意:1: 2262 2:错误3:-2147287038
(未知)调试:错误2769:自定义操作_BF66368A_B4D4_40BE_8AC5_22C0247B0C0C.uninstall未关闭1个MSIHANDLE。
(UNKNOWN)安装程序在安装此程序包时遇到意外错误。这可能表明此包装存在问题。错误代码是2769.参数是:_BF66368A_B4D4_40BE_8AC5_22C0247B0C0C.uninstall,1,
(UNKNOWN)CustomAction _BF66368A_B4D4_40BE_8AC5_22C0247B0C0C.uninstall返回实际错误代码1603(请注意,如果在沙箱内发生翻译,这可能不是100%准确)
(服务器)MSI(s)(6C:B0)[14:38:42:249]:关闭线程3880的类型790536的MSIHANDLE(59)


注意:看看几行上面的错误线索
(错误)行动结束14:38:42:InstallFinalize。返回值3.
(SERVER)MSI(sC)(6C:28)[14:38:42:249]:PROPERTY CHANGE:删除UpdateStarted属性。它的当前值是'1'。

谢谢


Gary

解决方案

嗨Gary,


很难猜出你的问题是什么,但我刚刚在另一个案例中发现同样的错误,他的解决方案听起来不错。请检查此主题:


http://social.msdn.microsoft.com/Forums/windows/en-US/8410cbc8- 2d22-4c9b-8a65-353636a44da5 / managed-custom-action-from-vs2005-web-deployment-failed-on-sbs-2011?forum = winformssetup


你可以做他使用windbg来调试你的过程以检查更多细节。


问候,



We have an application that is installed via a setup project and has apparently worked fine for the last 4-5 years, the application was written in vs2005.

Recently we had a need to upgrade the project to vs2010.

Now the vs2010 project fails to upgrade the last version installed on the client machines. I can manually uninstall the last version completely then install the new version, but I cannot get the upgrade to complete successfully. I get error 2869. I've done msiexec /I app.msi L*vx c:/logfile.log and used WiLogUtil.exe to examine the output.

Looks to be a custom action Data issue, but why now?

I'm going to paste the code we use, basically just accepts a command line parameter of Boolean type. Then attempts to remove some registry keys.

We have a class in our application Called Installer that inherits from System.Configuration.Install.Installer.

Private Sub Installer_AfterUninstall(ByVal sender As Object, ByVal e As System.Configuration.Install.InstallEventArgs) Handles Me.AfterUninstall

        Try

            If String.IsNullOrEmpty(Context.Parameters("ForceUninstall")) _
            OrElse Not CBool(Context.Parameters("ForceUninstall")) Then
                DeleteRegistryValues()
            End If

        Catch ex As Exception
            Throw ex
        End Try

    End Sub

Then the code to delete registry keys.

 Private Sub DeleteRegistryValues()

        Try
            Try
                If Not My.Computer.Registry.LocalMachine.OpenSubKey(String.Format("Software\{0}\{1}", My.Application.Info.CompanyName, My.Application.Info.ProductName)) Is Nothing Then
                    My.Computer.Registry.LocalMachine.OpenSubKey(String.Format("Software\{0}", My.Application.Info.CompanyName), True) _
                        .DeleteSubKeyTree(My.Application.Info.ProductName)
                End If
            Catch
            End Try

            If Not My.Computer.Registry.LocalMachine.OpenSubKey(String.Format("Software\{0}", My.Application.Info.CompanyName)).SubKeyCount > 0 Then
                My.Computer.Registry.LocalMachine.OpenSubKey("Software", True) _
                    .DeleteSubKeyTree(My.Application.Info.CompanyName)
            End If

        Catch ex As Security.SecurityException
            'Do Nothing
        Catch ex As Exception
            Throw ex
        End Try
    End Sub

And finally in the setup project under custom actions.

We have a Uninstall custom action called CleanUp, the source path points to our primary output. The CustomActionData is as follows.

/ForceUninstall="[FORCEUNINSTALL]"

Can somebody enlighten me on why I getting upgrade errors?

This is the first error encountered by the installer.

(SERVER)     MSI (s) (6C:28) [14:38:39:831]: Executing op: CustomActionSchedule(Action=_BF66368A_B4D4_40BE_8AC5_22C0247B0C0C.uninstall,ActionType=1025,Source=BinaryData,Target=ManagedInstall,CustomActionData=/installtype=notransaction /action=uninstall /LogFile= /ForceUninstall="" "C:\Program Files (x86)\W W Wood Products Inc\CabinetDoorWorkFlow\WWCabinetDoorWorkFlow.exe" "C:\Users\GARYAR~1\AppData\Local\Temp\CFG671E.tmp") 
(SERVER)     MSI (s) (6C:28) [14:38:40:190]: Creating MSIHANDLE (59) of type 790536 for thread 3880 
(SERVER)     MSI (s) (6C:B0) [14:38:40:190]: Invoking remote custom action. DLL: C:\Windows\Installer\MSI6ECA.tmp, Entrypoint: ManagedInstall 
(SERVER)     MSI (s) (6C!80) [14:38:40:502]: Creating MSIHANDLE (60) of type 790531 for thread 2176 
(SERVER)     MSI (s) (6C!80) [14:38:40:502]: Note: 1: 2262 2: Error 3: -2147287038 
(UNKNOWN)     DEBUG: Error 2869: The dialog ErrorDialog has the error style bit set, but is not an error dialog 
(CLIENT)     MSI (c) (40:5C) [14:38:40:611]: Font created. Charset: Req=0, Ret=0, Font: Req=MS Shell Dlg, Ret=MS Shell Dlg 
(UNKNOWN)      
(UNKNOWN)     The installer has encountered an unexpected error installing this package. This may indicate a problem with this package. The error code is 2869. The arguments are: ErrorDialog, , 
(CLIENT)     MSI (c) (40:5C) [14:38:42:249]: Product: Cabinet Door Workflow -- The installer has encountered an unexpected error installing this package. This may indicate a problem with this package. The error code is 2869. The arguments are: ErrorDialog, , 
(UNKNOWN)      
(UNKNOWN)     Error 1001. 
(SERVER)     MSI (s) (6C!80) [14:38:42:249]: Note: 1: 2262 2: Error 3: -2147287038 
(SERVER)     MSI (s) (6C!80) [14:38:42:249]: 
(SERVER)     MSI (s) (6C:B0) [14:38:42:249]: Leaked MSIHANDLE (60) of type 790531 for thread 2176 
(SERVER)     MSI (s) (6C:B0) [14:38:42:249]: Note: 1: 2769 2: _BF66368A_B4D4_40BE_8AC5_22C0247B0C0C.uninstall 3: 1 
(SERVER)     MSI (s) (6C:B0) [14:38:42:249]: Note: 1: 2262 2: Error 3: -2147287038 
(UNKNOWN)     DEBUG: Error 2769: Custom Action _BF66368A_B4D4_40BE_8AC5_22C0247B0C0C.uninstall did not close 1 MSIHANDLEs. 
(UNKNOWN)     The installer has encountered an unexpected error installing this package. This may indicate a problem with this package. The error code is 2769. The arguments are: _BF66368A_B4D4_40BE_8AC5_22C0247B0C0C.uninstall, 1, 
(UNKNOWN)     CustomAction _BF66368A_B4D4_40BE_8AC5_22C0247B0C0C.uninstall returned actual error code 1603 (note this may not be 100% accurate if translation happened inside sandbox) 
(SERVER)     MSI (s) (6C:B0) [14:38:42:249]: Closing MSIHANDLE (59) of type 790536 for thread 3880 


NOTE: Look at few lines above for clues on error
(ERROR)      Action ended 14:38:42: InstallFinalize. Return value 3. 
(SERVER)     MSI (s) (6C:28) [14:38:42:249]: PROPERTY CHANGE: Deleting UpdateStarted property. Its current value is '1'. 

Thanks

Gary

解决方案

Hi Gary,

Its hard to guess what is your problem but I've just found the same error on another case and his solution sounds good. Please check this thread:

http://social.msdn.microsoft.com/Forums/windows/en-US/8410cbc8-2d22-4c9b-8a65-353636a44da5/managed-custom-action-from-vs2005-web-deployment-fails-on-sbs-2011?forum=winformssetup

You can do what he has done to use windbg to debug your process to check for more details.

Regards,


这篇关于错误2869的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆