Hi Ken and Jim, thanks for your advices, very helpful. Tiemo > -----Ursprüngliche Nachricht----- > Von: [email protected] [mailto:use-revolution- > [email protected]] Im Auftrag von Ken Ray > Gesendet: Dienstag, 2. Juni 2009 23:52 > An: Use Revolution List > Betreff: Re: experience with VBScript on Vista needed > > > Hey, Tiemo... > > > My questions are not going to my code, but to some principles with > calling > > the shell wscript.exe > > Are you using Rev 2.9 or later? If so, you don't need to call the shell() > command for VBScript; you can "do <script> as VBScript". > > > 1. I tried to catch any error from the get shell() command with "the > > result", "the syserror", "try -catch", but got never any error back from > the > > shell, even if I have a wrong syntax in the VB, where the VB fails, the > rev > > doesn't gets noticed. Which is the correct way to catch an error from a > > VBScript on the shell? > > It should come back from the "shell" command. Here's an (old) example of > activating an application and trapping the result: > > on VBS_AppActivate pTitle > put format("set WshShell = WScript.CreateObject(\"WScript.Shell\")") > into > tVBS > put tVBS & cr & "WshShell.AppActivate" && quote & pTitle & quote into > tVBS > put "C:\vbs_temp.vbs" into tVBSPath > put tVBS into url ("file:" & tVBSPath) > set the hideConsoleWindows to true > get shell("cscript.exe //nologo" && tVBSPath) > put it into tResult > if there is a file tVBSPath then > send "delete file" && quote & tVBSPath & quote to me in 1 second > end if > if tResult <> "" then return "Error: " & tResult > end VBS_AppActivate > > Here's how it would be done in Rev 2.9+: > > on VBS_AppActivate pTitle > put format("set WshShell = WScript.CreateObject(\"WScript.Shell\")") > into > tVBS > put tVBS & cr & "WshShell.AppActivate" && quote & pTitle & quote into > tVBS > put tVBS & cr & "result = Err.number" into tVBS > do tVBS as "VBScript" > put the result into tResult > if there is a file tVBSPath then > send "delete file" && quote & tVBSPath & quote to me in 1 second > end if > if tResult <> "" then return "Error: " & tResult > end VBS_AppActivate > > > > 2. Do I have to return explicity any error from the script back to rev, > or > > will they passed to rev anyway? If yes, how and where? > > See above... > > > 4. Are there any experiences of windows installations without the > scripting > > host? Perhaps the Home edition? If yes, how to check for that? > > Well, according to my informaton, some form of Windows Script Host has > been > included on all versions of Windows since Windows 98. You should check to > make sure that the VBScript you're calling is supported in the various > versions of Windows you need to support. > > > 5. If every Vista version should have the windows scripting host, can it > > somehow be deactivated, so that my updater runs without result? If yes, > how? > > Not AFAIK. > > > 6. If the user clicks "cancel" while Vista is asking to allow this > process, > > how can I get aware of this "cancel" in my rev app? Is there a chance to > > catch a "cancel" down from Vista level in my rev app? > > I don't know, but I'd assume that the request happens *before* the script > is > actually run, so you'd need to find a way to determine if your VBScript > runs > or not. One way to do this might be for your Rev app to create a file and > have the VBScript change its contents or delete it. That way you could > detect "after" the script has run if the original file was still > there/unchanged. If so, the VBScript didn't run. > > > 7. Are you aware of any other VBScript gotchas? > > Yes - Some anti-virus software will bring up an alert dialog to the user > letting them know of a "potential malicious activity" if you try to > manipulate the file system with VBScript (basically any use of the > FileSystemObject), so that may make #6 above even more difficult. > > Ken Ray > Sons of Thunder Software, Inc. > Email: [email protected] > Web Site: http://www.sonsothunder.com/ > > > _______________________________________________ > use-revolution mailing list > [email protected] > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-revolution
_______________________________________________ use-revolution mailing list [email protected] Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
