Сбой с Outlook 2019, не раньше? - PullRequest
0 голосов
/ 03 апреля 2020

У меня есть 32-битное приложение VB6, которое использует Outlook Redemption для отправки электронной почты. Эта программа работала хорошо до Outlook 2016, но некоторые из моих клиентов теряют возможность отправлять электронную почту через мою программу, когда они либо обновляются до 2019, либо автоматически обновляются по подписке на Office 365.

A упрощенная версия моего кода:

Private Sub cmdSendMessage_Click()
        Dim objSession As RDOSession
        Dim objOutbox As RDOFolder
        Dim objMessage As RDOMail
        Dim objRecipient As RDORecipient
        Dim strBody As String

100     On Error GoTo ErrorHandler

101     Set objSession = New RDOSession
102     objSession.Logon , , False, False

103     Set objOutbox = objSession.GetDefaultFolder(olFolderOutbox)
104     Set objMessage = objOutbox.Items.Add

105     Set objRecipient = objMessage.Recipients.Add(txtAddressTo.Text)
106     objRecipient.Resolve

107     strBody = "This is a test message--sent using Outlook Redemption." & vbNewLine & vbNewLine & _
            "Sent: " & Now & vbNewLine & _
            "Sent from Computer: " & GetThisComputerName

109     With objMessage
110         .Subject = "Test Message - Outlook Redemption"
111         .Body = strBody

112         .Send
113     End With 'objMessage

114     objSession.Logoff

115     MsgBox "Message sent.", vbOKOnly + vbInformation


ExitRoutine:
201    Set objRecipient = Nothing
202    Set objMessage = Nothing
203    Set objOutbox = Nothing
204    Set objSession = Nothing

210    Exit Sub

ErrorHandler:
    MsgBox "Error " & Err.Number & vbNewLine & vbNewLine & Err.Description & vbNewLine & vbNewLine & _
        "Line " & Erl, vbOKOnly + vbCritical, "Error in Execution"
    Resume ExitRoutine

End Sub

Я пробовал программу с кодом выше на компьютере клиента под управлением Outlook 2019 MSO (16.0.12527.20260) 32-разрядный с Windows 10, 1909 (18363.535) 64-разрядные и 32-разрядные Outlook Redemption 5.18 . Программа немедленно завершает работу без сообщения об ошибке, когда я нажимаю кнопку для отправки этого электронного письма.

Работает ли Outlook Redemption вообще с VB6 и более новыми версиями Outlook? Если да, что мне нужно изменить в моем приложении, чтобы оно работало?

В журнале событий приложений появились две ошибки:

Faulting application name: RedemptionMail.exe, version: 1.0.0.0, time stamp: 0x5b995b5e
Faulting module name: RPCRT4.dll, version: 10.0.18362.476, time stamp: 0x7acb686b
Exception code: 0xc0000005
Fault offset: 0x000461c6
Faulting process id: 0x1660
Faulting application start time: 0x01d60931c9abef20
Faulting application path: \\???\RedemptionMail.exe
Faulting module path: C:\WINDOWS\System32\RPCRT4.dll
Report Id: 916c7e74-a3dd-440c-8759-23806d654b9d
Faulting package full name: 
Faulting package-relative application ID: 

и

Fault bucket 1285058706613227027, type 1
Event Name: APPCRASH
Response: Not available
Cab Id: 0

Problem signature:
P1: RedemptionMail.exe
P2: 1.0.0.0
P3: 5b995b5e
P4: RPCRT4.dll
P5: 10.0.18362.476
P6: 7acb686b
P7: c0000005
P8: 000461c6
P9: 
P10: 

Attached files:
\\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WERDE85.tmp.mdmp
\\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WERDEE4.tmp.WERInternalMetadata.xml
\\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WERDEF4.tmp.xml
\\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WERDF04.tmp.csv
\\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WERDF24.tmp.txt

These files may be available here:
\\?\C:\ProgramData\Microsoft\Windows\WER\ReportArchive\AppCrash_RedemptionMail.e_684bbff35d28781a9319f7f96316e4566e7d38f_ae0321e2_6f232be0-f6dd-46d3-bdbf-4f81e08f6760

Analysis symbol: 
Rechecking for solution: 0
Report Id: 916c7e74-a3dd-440c-8759-23806d654b9d
Report Status: 268435456
Hashed bucket: ca938f3d4eba0c8bd1d57215cb344e13
Cab Guid: 0
...