[Bug 25228] Office 2007 apps (word, excel, powerpoint) refuse to start when previous unclean shutdown was detected and Winver is set >= Vista (missing Application Recovery and Restart API stubs)

wine-bugs at winehq.org wine-bugs at winehq.org
Fri May 20 16:32:41 CDT 2011


http://bugs.winehq.org/show_bug.cgi?id=25228

Anastasius Focht <focht at gmx.net> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |focht at gmx.net
          Component|-unknown                    |kernel32
            Summary|Powerpoint 2007 will not    |Office 2007 apps (word,
                   |start if Windows version is |excel, powerpoint) refuse
                   |set to Vista or later       |to start when previous
                   |                            |unclean shutdown was
                   |                            |detected and Winver is set
                   |                            |>= Vista (missing
                   |                            |Application Recovery and
                   |                            |Restart API stubs)

--- Comment #9 from Anastasius Focht <focht at gmx.net> 2011-05-20 16:32:40 CDT ---
Hello,

the problem is the ARR (Application Recovery and Restart) which was introduced
with Vista.

MSDN: http://msdn.microsoft.com/en-us/library/cc948909.aspx

--- snip ---
0021:Call KERNEL32.WerRegisterFile(3352b088
L"C:\\users\\focht\\Temp\\2377.od",00000002,00000003) ret=32be11b7
0021:fixme:wer:WerRegisterFile (L"C:\\users\\focht\\Temp\\2377.od", 2, 3) stub!
0021:Ret  KERNEL32.WerRegisterFile() retval=80004001 ret=32be11b7
0021:trace:seh:raise_exception code=c0000005 flags=0 addr=(nil) ip=00000000
tid=0021
0021:trace:seh:raise_exception  info[0]=00000000
0021:trace:seh:raise_exception  info[1]=00000000
0021:trace:seh:raise_exception  eax=3348bbf0 ebx=00000000 ecx=00000001
edx=334ff168 esi=3352b088 edi=0032fda6
0021:trace:seh:raise_exception  ebp=0032f808 esp=0032f294 cs=0073 ds=007b
es=007b fs=0033 gs=003b flags=00210202
0021:trace:seh:call_vectored_handlers calling handler at 0x200777aa
code=c0000005 flags=0
0021:trace:seh:call_vectored_handlers handler at 0x200777aa returned 0
0021:trace:seh:call_stack_handlers calling handler at 0x30001df4 code=c0000005
flags=0 
--- snip ---

The NULL ptr dereference is because Wine doesn't export some stub symbols.

A bit earlier:

--- snip ---
...
0021:Call KERNEL32.GetProcAddress(7b810000,32a88630
"RegisterApplicationRecoveryCallback") ret=326133f3
0021:Ret  KERNEL32.GetProcAddress() retval=00000000 ret=326133f3
0021:Call KERNEL32.GetProcAddress(7b810000,32a88610
"ApplicationRecoveryInProgress") ret=326133f3
0021:Ret  KERNEL32.GetProcAddress() retval=00000000 ret=326133f3
0021:Call KERNEL32.GetProcAddress(7b810000,32a885f4
"ApplicationRecoveryFinished") ret=326133f3
0021:Ret  KERNEL32.GetProcAddress() retval=00000000 ret=326133f3
0021:Call KERNEL32.GetProcAddress(7b810000,32a885d8
"RegisterApplicationRestart") ret=326133f3
0021:Ret  KERNEL32.GetProcAddress() retval=7b823f90 ret=326133f3
...
--- snip ---

Wine already provides kernel32.RegisterApplicationRestart but completely misses
out the rest of ARR.
Although only RegisterApplicationRecoveryCallback() is called (the NULL deref),
the other two should be stubbed too.

With these stubs in place, Office 2007 Word, Excel, PowerPoint start
successfully (with option to run in recovery or normal mode when previous
unclean shutdown was detected).

Regards

-- 
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
Do not reply to this email, post in Bugzilla using the
above URL to reply.
------- You are receiving this mail because: -------
You are watching all bug changes.



More information about the wine-bugs mailing list