Email Client (Outlook Express) won't start after console

Ken Ray kray at sonsothunder.com
Sat Oct 11 01:20:33 EDT 2008


> While coding in the IDE (Windows XP Pro) and using 2.5* and then "running" the
> program within the IDE to check functionality of the "error" reporting of the
> finished program an error was encountered.  The email client facilitated
> reporting mechanism came up and stupidly without either cancelling or sending
> the reported error I quit the program by quitting the IDE.  Since doing that
> Outlook Express 5 will not start up as an  email program and acts as if it is
> "hung up".
> 
> Some years back this same thing happened to me and it turned out that Outlook
> was "stuck' in the waiting to report the error mode.  If I remember correctly
> that was fixed by a registry tweak.  Unfortunately I can't find my notes on
> that little issue if I made any.  I do remember that it was someone from the
> Rev list (old list) who came up with this explanation and fix for me.  I have
> searched the list as far back as I could, the web and mickeysoft without
> success. 

It's possible that the Outlook Express *process* is stuck open so you may
need to "kill" the process to get it to terminate even though it thinks it's
supposed to be reporting an error.

If this is the case, you can look for the "msimn.exe" process; there
actually may be more than one instance of it and you can terminate them all.

Here are the VBScripts for checking for the instance(s) and for killing them
if they exist; since you're running 2.5, you'll have to write these
VBScripts out to a .vbs file and execute them - see the "stsDoScript"
handler at the bottom for my implementation of doing just that.

Watch line wraps!

Getting a List of Running Processes
----------------------------------------------
Set ProcessSet = 
GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2").ExecQu
ery("Select * from Win32_Process")

tList = ""
For each Process in ProcessSet
    if Process.ExecutablePath <> "" Then
        tList = tList & Process.Name & vbcrlf
    End If
Next
WScript.Echo tList


Killing a Process 
(Note that <<PROCVALUE>> needs to be replaced with the name
of the process in lowercase letters)
---------------------
Set ProcessSet = 
GetObject("winmgmts:{impersonationLevel=impersonate}").ExecQuery("select *
from Win32_Process")

tList = ""
For each Process in ProcessSet
    If Process.ExecutablePath <> "" Then
        If LCase(Process.Caption)=<<PROCVALUE>> Then
            Process.Terminate (Process.ProcessID)
        Else
            tList="Error: Process not found."
        End If
    End If
Next
WScript.Echo tList


Running the Scripts
--------------------------

on stsDoVBS pScript
      set the hideConsoleWindows to true
      put "C:\VBS_temp.vbs" into tVBSPath
      put pScript into url ("file:" & tVBSPath)
      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
end stsDoVBS


Of course, if this is *not* the problem, then let me know...

Ken Ray
Sons of Thunder Software, Inc.
Email: kray at sonsothunder.com
Web Site: http://www.sonsothunder.com/





More information about the use-livecode mailing list