http://stackoverflow.com/questions/488809/tools-for-inspecting-lib-files mentions dumpbin.exe from Microsoft.
“COM library” vs “type library”???
I suspect most code (whether people mention COM or not) written before dotnet are probably technically COM code???
— dotnet without the dotnet context —
Client/server — A COM client is whatever code or object that gets a pointer to a COM server and uses its services. A COM server is any object that provides services to clients. In-process servers are implemented in a dynamic linked library (DLL), and out-of-process servers are implemented in an executable file (EXE). Out-of-process servers can reside either on the local computer or on a remote computer.
Registry — COM types are usually listed by GUIDs in the registry, though some COM types are RegFree
DLL — COM components are usually implemented in DLL files, and registration allows only a single version of a DLL. Dotnet classes also exist in DLL or EXE files.
MS-Office – For example COM allows Word documents to dynamically link to data in Excel spreadsheets
Bindings — COM interfaces have bindings in several languages, such as C, C++, Visual Basic
ActiveX – is part of COM
— Excel Addin —
All COM Add-ins must implement each of the five methods of this interface: OnConnection, OnStartupComplete, OnAddinsUpdate, OnBeginShutDown, and OnDisconnection.
benefit — smaller app footprint . All those large DLLs will only load into memory when needed, on-demand.
This is such a poorly documented feature!
If you run your exe and then echo %ERRORLEVEL% you can get the correct exit code 99. If you use WScript.Shell Exec to invoke it, then check the ExitCode property you always see 0.
http://www.visualbasicscript.com/Getting-exit-code-with-Exec-method-m62896.aspx shows the solution.
Do While objExec.Status = 0
To view the hidden scheduler log, use DOS to list the files in c:windowstasks folder. Or use notepad++ on c:WINDOWSTasksSchedLgU.Txt
To increase the log size limit, follow http://support.microsoft.com/kb/169443
— forever running tasks
This will block subsequent reruns.
Fix: try the max run time (default 72 hours)
Fix: To kill forever-running tasks, restart the task scheduler “service” itself
Some reasons for a forever-running task
* vbs may need to use wscript.quit
If an operation is likely to hit various failures, then a service is troublesome as it would need restarts.
Under a service, the operation should take a few seconds only.
Service can have higher frequency than once a minute.
Service can run under LocalSystem without any password.