Regarding my final point:
"Similarly, you may prefer to have the default action for a batch file
(.bat) changed to Edit instead of Open. Double-clicking the file will
not run the commands in the file, and if users want to run the file,
they can use the*Open*command on the shortcut menu."
http://support.microsoft.com/kb/320036
This advice would be likely to hang the PostgreSQL installer.
Cheers,
Eric
On 1/27/2012 12:32 PM, Eric Borts wrote:
> Hi Dave and Dharmendra,
>
> It is not the "%COMSPEC% /c" call that causes the window to popup, but
> the WindowStyle parameter to WShell.Run (see Table 3.9 in MS TechNet
> WSH Objects / Running Programs
> <http://technet.microsoft.com/en-us/library/ee156605.aspx>). Setting
> WindowStyle to "0" creates a hidden window. This is how the code in
> the installer is currently written. Setting it to "1" creates a
> visible window. This happens when using "%COMSPEC% /c" or when calling
> the batch file directly.
>
> Here is a another site recommending
> <http://classicasp.aspfaq.com/general/how-do-i-execute-a-dos-command/batch-file/exe-from-asp.html>
> the use of "%COMSPEC% /c" with a "0" second parameter, along with a
> note about the window (in)visibility:
>
> "[...] do not run any command that raises a prompt, dialog, msgbox
> or any other GUI. This [...] could hang your entire system (since the
> invisible GUI will be waiting for a reply [...]"
>
> Test code is attached that demonstrates using COMSPEC with a "0"
> versus a "1".
>
> Output from SET command is also attached. Note that I've verified that
> this problem still occurs in Safe Mode.
>
> Any other suggestions? I've also posted to StackOverflow
> <http://stackoverflow.com/questions/9038927/vbscript-hangs-when-launching-batch-file-with-wshell-script-run>
> for adivce.
>
> A separate line of reasoning for using COMSPEC is that the calling of
> the .bat directly assumes that default action is to execute the batch
> file. If a user has modified their default .bat actions (which I have
> not), the postgres installer will fail. Using COMSPEC will avoid that
> pitfall.
>
> I'll keep you posted if I discover why my machine doesn't execute
> batch files by default, or how it ended up in this condition. The
> computer is only about 2 months old, so I haven't had *that* much time
> to overwhelm it with installs.
>
> Eric