views:

429

answers:

3

I installed VS 2008 Team System on a brand new Windows 7 installation, and I can't drag and drop files to it to open them (ie: .config files)

  • I could do this on Windows XP
  • I can open them from the File -> Open menu

Do you know of any setting I might be missing? I already had a lot of fun with UAC and having to run VS as an administrator (even though I am one on the local machine) and a lot of other small stuff that's new on windows 7.

A: 

Does holding down the shift key and then dragging it onto the taskbar icon for VSTS2008 with the right-mouse button do anything?

Please don't vote me down, I only wanted to make a comment :(

ezwi
That opens up a context menu with **Open with** and **Cancel**. Selecting **Open with** opens a new instance of VS... not really useful
Juan Manuel
but thanks
Juan Manuel
+1  A: 

I think this is the issue, I am now debating over disabling UAC, disabling UIPI (although I wouldn't want to compromise the system), or just plain living with it.

I'm open to other suggestions as well.

Juan Manuel
Correct. My question is, why are you all running Visual Studio elevated (as admin)? I know in some cases it is required, but not _always_.
Lucas
I have web projects hosted in iis, one of the cases it is
Juan Manuel
well, there you go :)
Lucas
+1  A: 

This is not a bug, but a security feature. To expand on Juan Manuel's answer:

This is not a problem specific to VS2008 or Windows 7. It happens between any applications with different integrity levels. In Vista or higher (Server 2008, Windows 7), this can be caused by UAC and having some apps elevated and others not. The application with a lower integrity level cannot send messages to the application with a higher integrity level. In your case, Windows Explorer, running as a non-priviledged user, cannot send drag-and-drop messages to Visual Studio, which I assume is running elevated (as admin). The same would happen if you tried to drag-and-drop files into an elevated Notepad, for example.

Some workarounds are:

  1. disable UIPI so lower integrity apps can send messages to higher integrity apps (security risk)
  2. disable UAC so all your apps (including Windows Explorer) run elevated (bigger security risk)
  3. run an elevated Windows Explorer (risky? and seems like a lot of work just to avoid File -> Open)
  4. use a non-elevated Visual Studio (least security risk, but doesn't support some scenarios, such as debugging ASP.NET apps in IIS, iirc)
Lucas
I had answered it myself because no one had, but I'm switching the accepted answer from mine as this is more complete.
Juan Manuel