Windows Desktop VB.Net Apps Getting an error 1004 0x800A03EC reading Excel due to 0xC004F057 in Application Event log

0

We have several Windows Desktop Apps written in VB.2010 and VB.2017 that have been running for a long time at many customers. Then last week Tues, Nov 13, 2018 we started getting customers emails and calls saying the apps are getting an error 1004/0x800A03EC. No app updates where made. Worked one day then stopped.

It doesn't fail here. Tried on 4 different systems. W7/Excel 2013, W10 w/Office 365/Excel 2016.

The failures have happened on W10, 7 and 2012 R2.

Apps are just reading the excel file.

Code Code to initialize ws

ExcelAppObj = New Excel.Application

ExcelAppObj.Visible = pVisible
WB = ExcelAppObj.Workbooks.Open(pFFn, True)
WS = pWB.Worksheets(1)
Ss = "A" & Row & "." & ColNames(UsedColsSht) & Row + 1
Dim War as object = WS.Range(Ss).Value  

In the Application Event log we found this warning Installation of the Proof of Purchase from the ACPI table failed. Error code: 0xC004F057

Just 2 prior was The Software Protection service is starting. Parameters:caller=EXCEL.EXE

which to me indicates that some component in Windows does not think it is genuine. I know that on the system that got the error above both Windows 2012 R2 and Office are genuine.

I am sure this is a MS bug. Can someone point me in the right direction and hopefully a MS fix??????

Thanks and Happy ThanksGiving!

excel
windows
asked on Stack Overflow Nov 19, 2018 by QuickBooksDev • edited Nov 19, 2018 by QuickBooksDev

1 Answer

0

We found the problem but not clear why.

As posted above our code was using a range value of

Ss = "A" & Row & "." & ColNames(UsedColsSht) & Row + 1
s = ws.Range(Ss).value

Note: that a period was used so the range was something like A1.C3 This continues to work in 7 of our 8 systems that we have seen but when we used this format in the excel screen we got a #Field! error. This is a new Excel behavior.

Changing our apps to use a colon instead of a period solved the problem. So the range is now

Ss = "A" & Row & "." & ColNames(UsedColsSht) & Row + 1

or A1:C3

Again it worked in most systems and that cannot be explained. There was nothing in the event logs and the original posting in the header was a false alarm.

answered on Stack Overflow Nov 22, 2018 by QuickBooksDev

User contributions licensed under CC BY-SA 3.0