Upgrade from VS2003 to VS2005 problems

A

Alex

Hello people,

We have a large application (about 5000 source files) consisting of multiple executables, DLLs and COM components written in C++.
We develop and build it in Visual Studio 2003.

I'm in charge of evaluating whether we want to migrate it to VS2005 (the previous migration from 6.0 to 7.1 was a pain).
So far, things do not look good.

I installed VS2005 on a VM, copied the sources over and tried to build the solution.

First, it wanted to migrate all the projects.
OK, so far - so good.

Then, when I tried a "build solution" it crapped out with heaps of errors and warnings.

The "deprecated" messages are a pain since adding the definitions to the projects only works sometimes.

But what bothers me more are errors such as this one:

midl\oleaut32.dll : error MIDL2020 : error generating type library :
SaveAllChanges Failed : .\../lib/s_tplate.tlb (0x80070005)

Firing up process explorer, it looks like Visual Studio itself holds the s_tplate.tlb file open so, obviously, trying to build it results in "access denied" errors.

How do I solve this problem?


Best wishes,
Alex.
 
B

Bruno van Dooren

I'm in charge of evaluating whether we want to migrate it to VS2005
(the previous migration from 6.0 to 7.1 was a pain).
From 6.0 to 7.1 or 7.0 was indeed pretty awful, since 6.0 was far from
standards compliant.
especially regarding template classes. from 7.1 to 8.0 I have had far less
problems for code that is standards compliant.
First, it wanted to migrate all the projects.
OK, so far - so good.
migrating only converts the project files. not the source files.
The "deprecated" messages are a pain since adding the definitions to the
projects only works sometimes.
The following macros can take care of that:
_CRT_SECURE_NO_DEPRECATE;_SECURE_ATL=0;_SECURE_SCL=0;_ATL_INSECURE_DEPRECATE(a);_ATL_DEBUG_INTERFACES
you may want to use one or more of these, depending on what type of project
you have.
midl\oleaut32.dll : error MIDL2020 : error generating type library :
SaveAllChanges Failed : .\../lib/s_tplate.tlb (0x80070005)
I don't know MIDL all that well, but MIDL2020 is not a specific access
denied error code, according to MSDN2:
"The type library could not be generated. One possible cause of this error
is specifying a path to the IDL file that is longer than 126 characters.
Oleaut32.dll does not support path names longer than 126 characters."

maybe there is another reason for that error?

--

Kind regards,
Bruno.
(e-mail address removed)
Remove only "_nos_pam"
 
J

Jim Langston

Quote:
Hello people,

We have a large application (about 5000 source files) consisting of multiple
executables, DLLs and COM components written in C++.
We develop and build it in Visual Studio 2003.

I'm in charge of evaluating whether we want to migrate it to VS2005 (the
previous migration from 6.0 to 7.1 was a pain).
So far, things do not look good.

I installed VS2005 on a VM, copied the sources over and tried to build the
solution.

First, it wanted to migrate all the projects.
OK, so far - so good.

Then, when I tried a "build solution" it crapped out with heaps of errors
and warnings.

The "deprecated" messages are a pain since adding the definitions to the
projects only works sometimes.

But what bothers me more are errors such as this one:

midl\oleaut32.dll : error MIDL2020 : error generating type library :
SaveAllChanges Failed : .\../lib/s_tplate.tlb (0x80070005)

Firing up process explorer, it looks like Visual Studio itself holds the
s_tplate.tlb file open so, obviously, trying to build it results in "access
denied" errors.

How do I solve this problem?
End Quote

I know that in MVC++ .net 2003 if I run a program in debug mode and it
crashes horribly when I end debug the program and try to compile I get a
similar error. If I bring up task manager with ctrl-alt-del I can see that
my program is still running as a process. I end the process, recompile and
all is well.
 
K

Klueless

Alex said:
But what bothers me more are errors such as this one:
midl\oleaut32.dll : error MIDL2020 : error generating type library :
SaveAllChanges Failed : .\../lib/s_tplate.tlb (0x80070005)
Firing up process explorer, it looks like Visual Studio itself holds the s_tplate.tlb file open ...

I've noticed something similar.
I downloaded a multiproject solution. All projects source code
and *.vcproj's were in a common directory, all output binaries were
going to a common directory, and there were project dependencies.
I converted everthing up to VS2005. I tried to compile. There was a
project X which depended on project Y. Both X and Y wanted to create
the same build log file L. Compiling X would open L and lock it, then
since X depended on Y, compiling Y would attempt to open L on the
same directory and that is when the compilation failure happened.
The way out of the problem was to put each project into its own
directory hanging off the solution directory, which is my normal
best practice. Then the compilation went OK because although both
X and Y would open files named L, the two L's were now in different
directories.
You might check to see if something like that is happening to you.
 
A

Alex

Bruno van Dooren said:
I don't know MIDL all that well, but MIDL2020 is not a specific access
denied error code

0x80070005 is "Access Denied"

Best wishes,
Alex.
 
A

Alex

The problem still exists but I found some more information:

VS2005 definitely locks files because I got "access denied" errors when trying to _clean_ configurations.

Any suggestions?

Best wishes,
Alex.
 
T

TerryFei

Hi Alex,

In the current situation, I hope you can provide me a simplified sample,
which reproduces your issue so that I could debug it on our side. I think
it will help us get closer to this issue and be more effective to resolve
it.

Thanks for your understanding. Have a nice day!

Best Regards,

Terry Fei[MSFT]
Microsoft Community Support
Get Secure! www.microsoft.com/security
(This posting is provided "AS IS", with no warranties, and confers no
rights.)

--------------------
From: "Alex" <[email protected]>
References: <[email protected]>
Subject: Upgrade from VS2003 to VS2005 problems - locked files
Date: Wed, 22 Mar 2006 15:57:59 -0500
Lines: 53
MIME-Version: 1.0
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 6.00.2800.1506
X-MIMEOLE: Produced By Microsoft MimeOLE V6.00.2800.1506
Message-ID: <[email protected]>
Newsgroups: microsoft.public.vc.ide_general,microsoft.public.vc.language,microsoft.publi
c.dotnet.languages.vc,microsoft.public.vsnet.ide
NNTP-Posting-Host: insystems.com 216.191.154.61
Path: TK2MSFTNGXA03.phx.gbl!TK2MSFTNGP08.phx.gbl!TK2MSFTNGP11.phx.gbl
Xref: TK2MSFTNGXA03.phx.gbl microsoft.public.vc.language:243761
microsoft.public.dotnet.languages.vc:55254 microsoft.public.vsnet.ide:18589
microsoft.public.vc.ide_general:30345
X-Tomcat-NG: microsoft.public.dotnet.languages.vc

The problem still exists but I found some more information:
VS2005 definitely locks files because I got "access denied" errors when
trying to _clean_ configurations.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top