-
April 27th, 2013, 12:49 AM
#1
Problems updating to new Windows SDK
I've just integrated the Windows SDK V7.0A into my VS2005 application, and I'm getting the dreaded "Application configuration error" when I try to run it on an XP machine.
It runs fine on the development machine, and some customer machines (Win7 and Win8), but will not run on XP due to missing/incorrect version dlls.
I've rebuilt all my libraries, but still no joy.
So, my first question is - If I upgrade the Windows SDK to V7.0A, do I also need to use MFC 10 and msvcrt10, or can I stick with MFC 8?
The next question is, how do I find out which dlls are missing, and which libraries or other dlls are requesting the missing versions?
-
April 27th, 2013, 01:50 AM
#2
Re: Problems updating to new Windows SDK
It sounds like you need to install Redistributable Package for SDK V7.0A on each customer machine.
Victor Nijegorodov
-
April 27th, 2013, 06:43 AM
#3
Re: Problems updating to new Windows SDK
Is there a way to find out exactly what's in the redist package? I can install it on my test machine, but I'd really like to know what's there, to identify the critical components (dlls) that are going in.
-
April 27th, 2013, 10:32 AM
#4
Re: Problems updating to new Windows SDK
You should not worry! Just let your customer install it!
Victor Nijegorodov
-
April 27th, 2013, 08:54 PM
#5
Re: Problems updating to new Windows SDK
Yes, true I know, but there are two problems...
1) I would like to have a single install package to cover it all and simplify the install for my customers. Yes, potentially I can wrap the whole redist into my install package, but this does also triple the size of the install package for all my customers, most of whom don't need this extra space. I've been told many times that I shouldn't care about distribution size, but when I am doing regular software updates of 10 different customised packages, often to customers working in chinese factories with bad internet connections, package size is important.
2) vcredist_x86.exe actually crashes on my test XP machine and will not install, so this is no help.
So, I have always specifically included the required DLLs with my application in a side-by-side installation.
-
April 28th, 2013, 01:59 AM
#6
Re: Problems updating to new Windows SDK
From "System requirements":
Supported operating systems:
...
Windows XP with Service Pack 3 (all editions except Starter Edition)
And what is the one on your test XP machine?
Victor Nijegorodov
-
April 28th, 2013, 05:07 AM
#7
Re: Problems updating to new Windows SDK
Originally Posted by surfdabbler
Yes, true I know, but there are two problems...
1) I would like to have a single install package to cover it all and simplify the install for my customers. Yes, potentially I can wrap the whole redist into my install package, but this does also triple the size of the install package for all my customers, most of whom don't need this extra space. I've been told many times that I shouldn't care about distribution size, but when I am doing regular software updates of 10 different customised packages, often to customers working in chinese factories with bad internet connections, package size is important.
Okay, then you impose the requirements, that contradict to each other. To have binaries dependent on dlls that are present on any Windows since XP SP1, you have to build in VS6 to include no redistributes. If XP SP3 is okay, you build in VS.NET2003. But if you biuild in VS2005 or later, including redistributes is inevitable.
Best regards,
Igor
-
April 28th, 2013, 08:38 PM
#8
Re: Problems updating to new Windows SDK
Hmm, we really aren't getting anywhere here are we? I haven't got answers to any of my questions yet. I will assume by the lack of answers that there is no way to find out what versions of what DLLs are required by my program. Just a black-magic error from windows telling me that some version of something it needs is not there. So, let's take the brainless fallback position and try to install the redist (although I have completely removed the Windows SDK 7.0 from my dev environment, rebuilt the whole shebang and I'm still getting the same 'application configuration is incorrect' error)...
Victor, yes, I have XP SP3. The redist package is crashing on this.
Ideally, it would be great to have the install script detect whether the redist update was required, and only download if required. Then the actual software update would be smaller, and the redist could be downloaded once only. I do not want to require customers to update the machines themselves.
-
April 29th, 2013, 01:29 AM
#9
Re: Problems updating to new Windows SDK
Best regards,
Igor
-
April 29th, 2013, 04:58 AM
#10
Re: Problems updating to new Windows SDK
Well, after four frustrating days, I've found the problem. It turns out the Platform SDK was not the problem at all. Turns out Visual Studio updated itself the other day, and installed a runtime update, which doesn't show in the versions listed in Help->About dialog. So, I needed to take the new DLLs from the base VC install redist, and bring these into the install package.
If only there was some way to see a useful error, like "Application configuration is incorrect. Cannot find MFC80.dll version 8.0.50272.6195.", or to inspect the .exe and find what DLLs and versions it needs. Now that would have saved me four days.
-
April 29th, 2013, 05:04 AM
#11
Re: Problems updating to new Windows SDK
Originally Posted by surfdabbler
If only there was some way to see a useful error, like "Application configuration is incorrect. Cannot find MFC80.dll version 8.0.50272.6195.",
Did you try to look at the Event Viewer?
Originally Posted by surfdabbler
... or to inspect the .exe and find what DLLs and versions it needs
How about Dependency Walker?
Victor Nijegorodov
-
April 29th, 2013, 05:29 AM
#12
Re: Problems updating to new Windows SDK
Hi Victor,
The event viewer is a good idea, but unfortunatly the errors in the event viewer are just as useless...
"Component identity found in manifest does not match the identity of the component requested."
No details at all about what was found or what was requested. There is a subsequent error about a syntax error in the CRT manifest file, which gives a vague clue, but is very misleading as to what the actual error is, because the Manifest file is perfectly fine. It's just not the one the program is looking for!
Dependency walker show this info though! Super! That's the answer to the second question in my original post. I'll keep this in mind for next time. Thanks, Victor.
Just in case anyone is looking, the answer to the first question in my original post seems to be that it's perfectly fine to stick with MFC8.0 while using the updated Windows SDK v7.0A.
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|