Någon som har en bra förklaring på varför GetExecutablePath på en svensk Vista-burk returnerar "c:\PROGRAM FILES\min mapp\Min fil.exe" i stället för "c:\PROGRAM\min mapp\Min fil.exe"!?!?!?! Får du samma sökväg med när du tittar på miljövariabeln %ProgramFiles% i en kommandotolk? Jag tror det är så att mappen heter program files, men i den svenska versionen av vista visas det som program istället. Det borde fungera att använda program files också, har du provat? Det verkar vara så att vissa delar av systemet inte översätter till det svenska mappnamnet. Jag har själv sett fenomenet, men det har aldrig varit problem rent funktionellt. Så här långt har jag kommit: Programdata FTW :), Jag tittar precis i en svensk Vista. Där har jag en applikation som öppnar en fil under C:\Program Files\MittProgram\MinFil.ext, kör ej "Run As Administrator". Tittar jag i "Dator" så ligger filen i C:\Program\MittProgram\MinFil.ext, om jag däremot letar rätt på den i kommandopropten så heter den C:\Program Files\MittProgram\MinFil.ext. <b>Niclas : "Lycka till med softplan :)" </b> Tänk bara på detta i din installationSvensk Vista + GetExecutablePath
Den förstnämnda mappen finns ju inte ens! Frågar jag var exefilen ligger så måste de ju för hel*#%te returnera en sökväg som finns rent fysiskt!
Jag känner mig kränkt som utvecklare :-) Jävla Vista...så kan de ju för fanken inte göra...Sv: Svensk Vista + GetExecutablePath
Sv: Svensk Vista + GetExecutablePath
/JohanSv:Svensk Vista + GetExecutablePath
Mappen heter Program Files även på en svensk Vista, MEN har man UAC aktiverat så måste man köra med "Run as administrator" för att komma åt den mappen. GetExecutablePath returnerar alltså en sökväg som finns men inte syns eller går att komma åt med "normala" inställningar.
Min applikation läser en fil i Program Files en gång och skapar sedan en personlig kopia av den för varje användare första gången de loggar in. Applikationen skriver aldrig till den filen, så jag trodde det var ok att lägga den i Program Files, men uppenbarligen inte...
Problemet uppstår inte på en engelsk Vista (eller vissa svenska Vista där man fipplat med inställningarna) eftersom där heter mappen alltid program files, så det är inget problem.
Så det är alltså "mappningen" mellan "c:\Program" och "c:\Program files" som verkar kräva adminrättigheter på en svensk Vista.
Det känns helt sjukt, men bara att acceptera läget, och göra om och göra rätt...
Var bör man lägga en sådan fil i Vista (kräver endast läsrättigheter till filen/mappen)? ProgramData?Sv: Svensk Vista + GetExecutablePath
Environment.SpecialFolder.CommonApplicationData
Den ger dig Programdata under vista och någonstans i all users på xp.
Lycka till med softplan :)Sv: Svensk Vista + GetExecutablePath
/JohanSv:Svensk Vista + GetExecutablePath
Haha, ännu en Hogian...Tack!
Ok, så rätt väg är att skapa mina undermappar "SoftTeam/SoftPlan" under ProgramData under installationen och läser upp filen med Environment.GetFolder(SpecialFolder.ProgramData) + den relativa sökvägen till filen? Blir Microsoft glada då och slutar gnälla på mig tills nästa Windowsversion där de antagligen bytt namn på ProgramData till ProgramStuff, Program Files till ApplicationFiles, Users till Persons och Documents till YourStuff? :-)
De förser ju oss utvecklar med jobb i alla fall...
<b>Johan :</b>
Man får ruggiga associationer med VBA i svenska Office 95.
<code>
OM [villkor] SÅ
' kod
SLUT OM
</code>
Ge fanken i att översätta programspråk och viktiga mappar på hårddisken!!!! Lol...Sv: Svensk Vista + GetExecutablePath
Environment.SpecialFolder.CommonApplicationData
Under XP this is:
C:\Documents and Settings\All Users\Application Data
Under Vista this is:
C:\ProgramData
http://msdn.microsoft.com/en-us/library/system.environment.specialfolder.aspx