Wednesday, May 27, 2009

Keyboard shortcuts for Windows Virtual PC

Friend of mine (hi Henk ;)) was just complaining about the fact that new Virtual PC in Windows 7 doesn’t support keyboard shortcuts anymore (like Alt + Del etc).

I tried it and they works – Microsoft just changed them little bit ;)

To be honest, before running my VM I already had in mind that maybe Microsoft decided to consolidate controls and use same shortcuts in Windows Virtual PC than in Hyper-V… And surprisingly I was right.

So if you want to know keyboard mappings, check out Virtual PC Guy’s blog post – it’s about Hyper-V, however you can use same shortcuts in Windows Virtual PC.

Monday, May 25, 2009

XP Mode for other operating systems

Recently I blogged about internals of XP mode – how it works and I also mentioned that it is NOT only for Windows XP, however also Windows Vista and Windows 7 are supported.

For me personally, this mode is extremely interesting. For example I can try all new applications in my virtual pc first (however use it as RemoteApp from my regular desktop) and when I’ll like them, I can install them to my regular desktop… And if I won’t? Undo changes to VHD ;)

Another reason can be that sometimes you need access to applications that are not available for Windows 7 – I don’t use such legacy applications, but I am scripting in Powershell – and in Windows 7, you have Posh v2 ;) So for testing I can install multiple operating systems and just validate automatically whether my scripts works or not.

So what to do if you want to “publish” applications from Windows 7?

 

1.) Install Windows 7 to virtual PC

2.) Install Integration components

3.) Create new registry key in location HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\TsAppAllowList\Applications\NameOfYourApplication

4.) Create registry entry with name Path (string). Value is location of your application.

image

Well, that’s it… I tried it and it works for me. All you need to do know is run following from Run (or cmd.exe\powershell.exe, create shortcut, it’s completely up to you):

vmsal.exe "Windows 7" "||IE" "IE"

As you can see below, I run one Internet Explorer from my own OS (glass) and another from virtualized Windows 7:

image

Running Elevator under normal user

As you maybe remember, some time ago I created small utility (proof of concept) called Elevator that allows you to

  • elevate program seamlessly (without UAC prompt) using context menu
  • create shortcuts that will run programs elevated automatically

Even though it was POC, I received tons of comments and feedback. There is however one question that keeps repeating – Why it doesn’t work under regular user account?

Well, answer is simple and very annoying – Elevator is using scheduled task to run programs elevated. In order to use elevator, you must have permissions to run scheduled task.

As you can see below, there is no Permissions tab in Windows Vista or Windows 7:

image

I have NO idea why they removed this. If you want to help Elevator, please vote for this bug report:

https://connect.microsoft.com/windows7/feedback/ViewFeedback.aspx?FeedbackID=410620

Friday, May 15, 2009

New perfect movie is coming in 2010

Hehe, really funny advertisement from Microsoft :)

Cloud presentation and list of my tools

To attendees of my yesterday presentation, few things I promised…

 

Presentation itself:

 

My Ketarin (to those that didn’t bring USB stick after presentation :)):

 

Hope you had fun yesterday and enjoyed it as much as I did :)

Tuesday, May 12, 2009

“Get” and Powershell

Sometimes you forget some cool features and remember them after months or event years…

This happened to me few times already with powershell.

So I wanted to share a simply trick I run into by accident. GET is optional in Powershell :)

Therefore you don’t need to write Get-WmiObject (in interactive session), you can use WmiObject without verb.

And it applies to your functions also:

PS C:\> function get-dog {Write-Host "Dog returned"}
PS C:\> get-dog
Dog returned
PS C:\> dog
Dog returned
PS C:\>

Monday, May 11, 2009

Cloud computing – compatibility mode :)

Well, as you all know cloud computing should allow you to have webtop – your regular desktop accessible from Internet (the Cloud).

I think idea is nice, however we are not there yet. There are many solutions that tries to achieve that. Some are providing you with “true” desktop experience, like eyeOS, glideOS,  iCloud or Startforce, some are still working in “compatibility” mode.

You can ask what compatibility mode means – it’s my term for solutions that are synchronization only and one of “nodes” or computers is online desktop. Good examples are tools like Live Mesh, Syncplicity or Dropbox.

Even though webtops like iCloud are getting nicer and more eye-candy, I still think time for webtops hasn’t come yet. It’s nice to try, however I can’t imagine replacing full desktop with webpage. My first concern is performance – even if uploading\downloading files would be only 50% of time on my desktop (which would be major improvement compared to current solutions), I would still feel it’s too slow.

Second related problem is that I want to store my Windows applications stored in cloud – utilities like Total Commander, Notepad++ or Miranda. Even if that would be possible, running and using such applications would be much slower compared to local access.

Therefore I prefer “tweaked” mutant desktops (half-cloud, half-physical).

My cloud is combination of multiple tools:

  • special outlook rules for synchronization of emails (Outlook\Exchange <-> Gmail)
  • LastPass for password management
  • Live Mesh for synchronization of documents, tools, installation sources
  • Ketarin to keep installation sources up to date
  • FlexProfiles to transfer configuration

Currently I want to have a look at Xmarks – utility to automatically synchronize bookmars (as you maybe remember, I complained that Live Mesh cannot handle conflicts properly and this is especially case with Favorites) and play a bit more with FlexProfiles to create seamless application configuration synchronization tool.