Sailesh Rathi

Hello,

We have a UI based exe that launches fine on Vista but when we try to run it on XP the winMain entry point does not get called. The exe has a dependency on a few COM servers, and we have verified that all of these are registered (using regsvr32). Thinking that this may be due to use of a Vista specific API ¨C we decided to try to step into the main function and find out what API may be offending. However when trying to open the exe under windbg, we get error 0n87 ¨C (Invalid parameter) could not open the program. We saw the same error (see below) when trying to profile using depends.

Could this be a COM related issue or the use of a Vista specific API in the code (this is Vista code that we want to port to XP) How can we try to isolate the issue Thoughts/pointers would be much appreciated.

Depends profile output:

Simulate ShellExecute by inserting any App Paths directories into the PATH environment variable.

Log DllMain calls for process attach and process detach messages.

Hook the process to gather more detailed dependency information.

Log LoadLibrary function calls.

Log GetProcAddress function calls.

Log debug output messages.

Automatically open and profile child processes.

--------------------------------------------------------------------------------

Failure starting the process. The parameter is incorrect (87).

Thanks

Sailesh




Re: Application Compatibility for Windows Vista Vista/XP application issue

Bruce N. Baker - MSFT

Do you have a stack Where did this failure occur on XP, was it in your code






Re: Application Compatibility for Windows Vista Vista/XP application issue

Sailesh Rathi

The problem is that there is no stack. windbg is unable to open the exe file - error 0n87.

Some additional information - WIN32_WINNT is set to 0x500/0x501 and tried. What would be a good starting point to begin isolating the issue

Thanks






Re: Application Compatibility for Windows Vista Vista/XP application issue

Bruce N. Baker - MSFT

I'm not sure on this one. Are you doing work in your constructor

What happens when you just run it on XP






Re: Application Compatibility for Windows Vista Vista/XP application issue

Sailesh Rathi

We isolated this further. It appears to be a manifest related issue. If we turn off the manfiest build in Visual studio the resulting binary loads properly on XP. However, it is not clear why manifest build is causing problems. Since the exe is being built as an isolated app, we would like to specify the assembly dependencies in the manifest file.

Any further pointers would be useful.

Thanks






Re: Application Compatibility for Windows Vista Vista/XP application issue

Bruce N. Baker - MSFT

There could be a couple of things here but for sure if you are using, say MT, you might be running into merge issues with the manifest. Try using MAGE