[.NET] Environment.SpecialFolder.Desktop => lege string win7

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Devvers,

Ik heb hier een VS deployment project met daarin wat custom actions.
Daarin worden o.a. shortcuts op het bureaublad van de gebruiker gemaakt.
De locatie van de desktop haal ik op met Environment.GetFolderPath(Environment.SpecialFolder.Desktop) of Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory).

Onder Windows XP werkt dat prima. Onder Windows 7 geeft Environment.GetFolderPath(Environment.SpecialFolder.Desktop) een lege string (zal wel een UAC iets zijn?)...
De actie wordt uitgevoerd in de commit fase.

Wie o wie kan mij vertellen hoe ik dan wel de desktop locatie opvraag (op een nette manier) in Windows 7, in een custom action, in een VS Deployment installer?

Acties:
  • 0 Henk 'm!

  • Bozozo
  • Registratie: Januari 2005
  • Laatst online: 20-02 16:10

Bozozo

Your ad here?

Desktop geeft toch altijd "" als path? Feitelijk bestaat de desktop niet in het bestandssysteem. Wat krijg je als je Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory doet onder W7?

edit:
In de war met My Computer, zie hieronder.

[ Voor 13% gewijzigd door Bozozo op 23-12-2009 14:58 ]

TabCinema : NiftySplit


Acties:
  • 0 Henk 'm!

  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
Als ik in de documentatie ( http://msdn.microsoft.com...onment.specialfolder.aspx ) kijk zie ik:

DesktopThe logical Desktop rather than the physical file system location.
DesktopDirectoryThe directory used to physically store file objects on the desktop.
Do not confuse this directory with the desktop folder itself, which is a virtual folder.

En verder nog
MyComputerThe "My Computer" folder.
Note: The MyComputer constant always yields the empty string ("") because no path is defined for the My Computer folder.

Waarschijnlijk is er in Windows 7 geen Virtual Desktop folder meer. Ik ga er vanuit dat DesktopDirectory nog wel de goede folder weergeeft, maar je geeft niet duidelijk aan of je dat onder Windows 7 geprobeerd hebt.

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


Acties:
  • 0 Henk 'm!

  • urk_forever
  • Registratie: Juni 2001
  • Laatst online: 17:42
Ik heb beide opties net even uitgeprobeerd:

C#:
1
2
MessageBox.Show(Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory));
MessageBox.Show(Environment.GetFolderPath(Environment.SpecialFolder.Desktop));


Maar bij beide krijg ik gewoon de desktop directory terug.

Maar waarom wil je de shortcut handmatig aanmaken? In een deployment project kan je ook gewoon instellen dat je een shortcut toe wilt voegen.

Staat ook hier uitgelegd hoe je dat kan doen.

[ Voor 10% gewijzigd door urk_forever op 23-12-2009 15:14 ]

Hail to the king baby!


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
"De locatie van de desktop haal ik op met Environment.GetFolderPath(Environment.SpecialFolder.Desktop) of Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory)."
Ik heb beide dus geprobeerd. Alle 2 zijn leeg.

Waar heb je ze uitgeprobeerd...? Ze werken in een "normale" context wel, dat is het probleem niet.

Daarnaast zijn de shortcuts conditioneel, die optie zit naar mijn weten niet in een deployment project.

Acties:
  • 0 Henk 'm!

  • urk_forever
  • Registratie: Juni 2001
  • Laatst online: 17:42
Draait je setup met Administrator rechten? Dat icm met UAC zou misschien voor het probleem kunnen zorgen? Heb je het probleem ook onder Vista?

Misschien heb je hier wat aan?

[ Voor 31% gewijzigd door urk_forever op 23-12-2009 15:35 ]

Hail to the king baby!

Pagina: 1