Application.ExecutablePath does't work in Vista

G

Guest

Hi.

I have a Windows Forms application developed in .NET Framework 1.1.

The Application.ExecutablePath() function does not return correctly the
application path if the path or the EXE filename contains non-english
characters (like "c:\aplicación\aplicación.exe), but only in Windows Vista
(in 2000, XP or 2003 it works correctly). These characters are replaced by a
squared char (and the returned string is not usable in FileInfo, for example).

However, the Application.StartupPath() function works well in Vista and does
not return strange characters, making possible to solve the problem if you
have full access to the source code of the application and the ability to
recompile it. My application have many versions and I can't recompile and
distribute each one.

I think there is an issue with the .NET Framework and Vista. In my opinion,
the only way to fix it without changing and recompiling the application, is
patching the Framework itself.

Anyone knows if there is a KB article about this? Thank you in advance.

Regards,
Dani
 
J

Jeff Gaines

I think there is an issue with the .NET Framework and Vista. In my opinion,
the only way to fix it without changing and recompiling the application, is
patching the Framework itself.

VS2005 is not compatible with Vista yet, it's one of the reasons I ditched
Vista and went back to XP.
 
G

Guest

Thanks for your answer Jeff, but my problem is not in Visual Studio 2005. The
problem appears when running in an application (EXE, compiled with VS2003)
that makes a call to the ExecutablePath function, and only in some scenarios
as I described before.

Regards.
Dani
 
R

RobinS

Have you installed both SP-1 for Visual Studio (I assume you're using the
2005 version) and the Vista patch for Visual Studio?

Robin S.
 
G

Guest

Hi Robin:
I'm not using VS2005, the application is an EXE that was compiled with
VS2003 (Framework 1.1). The problem is in runtime, not in design or compile
time.

Regards,
Dani
 
J

Jeff Gaines

Thanks for your answer Jeff, but my problem is not in Visual Studio 2005.
The
problem appears when running in an application (EXE, compiled with VS2003)
that makes a call to the ExecutablePath function, and only in some
scenarios
as I described before.

If VS2005 is incompatible with Vista then I guess VS2003 must be as well :)

The DLL that is being called is probably completely different in Vista.
 
J

Jon Skeet [C# MVP]

Jeff Gaines said:
If VS2005 is incompatible with Vista then I guess VS2003 must be as well :)

VS2003 is most definitely incompatible with Vista - but there's a
distinction to be drawn between the IDE and the .NET platform.
The DLL that is being called is probably completely different in Vista.

Well, as far as I can tell Vista doesn't have the genuine 1.1 framework
on it, so it'll be using the .NET 2.0 version instead of .NET 1.1, but
other than that it should be okay.
 
J

J Muhammad Imran

I am using VS 2008. Having the same problem. I am reading an image file from the exefile(installation) directory . The problem is I can't get the path after installation in windows vista or windows 7.
Please guide me to some proper solution. very confused in windows.



Dani K wrote:

Application.ExecutablePath does't work in Vista
20-Feb-07

Hi

I have a Windows Forms application developed in .NET Framework 1.1

The Application.ExecutablePath() function does not return correctly the
application path if the path or the EXE filename contains non-english
characters (like "c:\aplicaci??n\aplicaci??n.exe), but only in Windows Vista
(in 2000, XP or 2003 it works correctly). These characters are replaced by a
squared char (and the returned string is not usable in FileInfo, for example)

However, the Application.StartupPath() function works well in Vista and does
not return strange characters, making possible to solve the problem if you
have full access to the source code of the application and the ability to
recompile it. My application have many versions and I can't recompile and
distribute each one

I think there is an issue with the .NET Framework and Vista. In my opinion,
the only way to fix it without changing and recompiling the application, is
patching the Framework itself.

Anyone knows if there is a KB article about this? Thank you in advance

Regards
Dani

Previous Posts In This Thread:

Application.ExecutablePath does't work in Vista
Hi

I have a Windows Forms application developed in .NET Framework 1.1

The Application.ExecutablePath() function does not return correctly the
application path if the path or the EXE filename contains non-english
characters (like "c:\aplicaci??n\aplicaci??n.exe), but only in Windows Vista
(in 2000, XP or 2003 it works correctly). These characters are replaced by a
squared char (and the returned string is not usable in FileInfo, for example)

However, the Application.StartupPath() function works well in Vista and does
not return strange characters, making possible to solve the problem if you
have full access to the source code of the application and the ability to
recompile it. My application have many versions and I can't recompile and
distribute each one

I think there is an issue with the .NET Framework and Vista. In my opinion,
the only way to fix it without changing and recompiling the application, is
patching the Framework itself.

Anyone knows if there is a KB article about this? Thank you in advance

Regards
Dani

Re: Application.ExecutablePath does't work in Vista
On 20/02/2007 in messag

VS2005 is not compatible with Vista yet, it is one of the reasons I ditche
Vista and went back to XP

-
Jeff Gaines

Thanks for your answer Jeff, but my problem is not in Visual Studio 2005.
Thanks for your answer Jeff, but my problem is not in Visual Studio 2005. The
problem appears when running in an application (EXE, compiled with VS2003)
that makes a call to the ExecutablePath function, and only in some scenarios
as I described before

Regards
Dan

:

Have you installed both SP-1 for Visual Studio (I assume you're using the 2005
Have you installed both SP-1 for Visual Studio (I assume you are using th
2005 version) and the Vista patch for Visual Studio

Robin S
---------------------------------------------------

Re: Application.ExecutablePath does't work in Vista
Hi Robin
I am not using VS2005, the application is an EXE that was compiled wit
VS2003 (Framework 1.1). The problem is in runtime, not in design or compil
time

Regards
Dan

:

Re: Application.ExecutablePath does't work in Vista
On 20/02/2007 in messag

If VS2005 is incompatible with Vista then I guess VS2003 must be as well :-

The DLL that is being called is probably completely different in Vista.

--
Jeff Gaines

Re: Application.ExecutablePath does't work in Vista

VS2003 is most definitely incompatible with Vista - but there's a
distinction to be drawn between the IDE and the .NET platform.


Well, as far as I can tell Vista doesn't have the genuine 1.1 framework
on it, so it'll be using the .NET 2.0 version instead of .NET 1.1, but
other than that it should be okay.

--
Jon Skeet - <[email protected]>
http://www.pobox.com/~skeet Blog: http://www.msmvps.com/jon.skeet
If replying to the group, please do not mail me too


Submitted via EggHeadCafe - Software Developer Portal of Choice
Making Silverlight Emulate Synchronous Requests
http://www.eggheadcafe.com/tutorial...1-c5c717c9b184/making-silverlight-emulat.aspx
 

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