Here's a solution...
Put that in a VB activeX dll project. Call the project "Ober" and the module "SafeLaunch". Now build the dll and call it ober.dll, but run "regsvr32 /u ober.dll" in the project directory to uninstall it. Run the Visual Studio "Package and Deployment Wizard" and create an internet package. Create a package for your dll and mark it safe for scripting etc.....
Private ProgNameString As String
Public Function RunApp()
Dim oWSH As WshShell
Set oWSH = New WshShell
Set oWSH = Nothing
Public Property Get ProgName() As Variant
ProgName = ProgNameString
Public Property Let ProgName(ByVal vNewValue As Variant)
ProgNameString = vNewValue
Now Go to internet explorer and set the securite to "Low" (Internet Options-Security-Custom Level-Reset to-Low Then click reset). In the package you created there should be a html file that will install the activex component. You will get a dialog asking if you want to install the activex package - ok it. As soon as this page has run it's course, reset the security to the level you originally had (assuming it wasnt already low!).
Now you can create a html file like so
Open it and click the button. If Calc opens without an activex warning you're done! You can now use the "Ober.SafeLaunch" object in a JScript or VBScript html file and use it as your desktop.
var oOber = new ActiveXObject("Ober.SafeLaunch");
oOber.ProgName = "Calc.exe"
<input type="button" onclick="RunApp()" value="RunCalc">
As the above is hell if you dont do VB, I have zipped up all the files and put it on the web - here
Download it (It's big as I included about every thing you need for this to work) and unzip it. Inside should be a "OberRunMe.HTM" file - this will setup the component (you still need to set the security to low for it to work and then reset when done). Now try the "OberDesktop.html" and click the button. if it launches - AOK!