Forum for iCal4OL, Print4OL and ICS4OL

Exchange of experiences / Erfahrungsaustausch / Get Help

You are not logged in.

Announcement

Verkauf von iCal4OL an Neukunden ist eingestellt! Keine Demo mehr verfügbar..
Diese Seite ist ausschliesslich für Kunden.
The selling of iCal4OL has ended! No trial available anymore..
This site is exclusively for customers.

iCal4OL Version 2.17.1 is now available. See Announcements / Ankündigungen


#1 2014-07-30 10:06:02

Roland
Administrator
Registered: 2007-11-25
Posts: 1522

Start iCal4OL in background when Outlook gets started - with OLTrigger.exe

In version 2.14.9 it's already in the folder, where iCal4OL.exe was installed (normally C:\Program Files (x86)\iCal4OL\).

Download (for older versions of iCal4OL - in newer setups it's already included): http://ical.gutentag.ch/OLTrigger.exe
Copy it to the folder, which contains iCal4OL.exe (Best).
Otherwise it will only recognize iCal4OL.exe in %ProgramFiles(x86)%\iCal4OL\  (or on 32-bit OS  %ProgramFiles%\iCal4OL\) and in DOCUMENTS\iCal4OL\


You can put a link for it in your STARTUP folder.

It will run with no window in background, testing every 30 seconds, if Outlook is running (or gets started) and iCal4OL is not .. !
If Outlook is running but not iCal4OL, it will wait 20 seconds longer (so Outlook finishes loading) and then start iCal4OL with "TRAY020", doing a background sync every 20 minutes (default).

There are command line parameters, or you can even rename OLTrigger.exe:

- OLTrigger.exe
  will then start iCal4OL for background syncs every 15 minutes.

- OLTrigger.exe TRAY015W
  will wait additional 15 minutes before syncing.

- OLTrigger.exe TRAY
  Will do exactly one sync (and iCal4OL will get terminated afterwards).

- OLTrigger.exe [with command line parameters of iCal4OL]
  will work, too (as examples show above).


- OLTrigger.exe STOP
  will end itself running..

- OLTrigger.exe KILL
  Do not use it, because it will KILL IMMEDIATELY iCal4OL.exe and itself. Use it only, if iCal4OL.exe is hanging.

Please be also aware of the iCal4OL settings on tab "Options - Startup (General)":
http://ical.gutentag.ch/forum/img/greenshot_2014-07-30_10-09-34.png

Last edited by Roland (2014-08-01 15:01:06)

Offline

 

#2 2017-07-26 06:51:01

Roland
Administrator
Registered: 2007-11-25
Posts: 1522

Re: Start iCal4OL in background when Outlook gets started - with OLTrigger.exe

Hier noch weiterführender Text auf Deutsch = Zusammenhänge!

Grundsätzlich kann iCal4OL so gestartet werden, das nur genau ein Sync oder mehrere Syncs (in Zeitintervall) gestartet werden.
Siehe Startparameter (und den Autostart auf Reiter "Starten" für Syncwiederholung von iCal4OL.exe ohne Parameter):
https://ical.gutentag.ch/documentation.html#D1

1)
Start per Taskplaner / geplante Tasks .... siehe https://ical.gutentag.ch/faq.html#F9
Per Taskplaner wird normalerweise "iCal4OL.exe TRAY" verwendet, was genau einen Sync macht, siehe auch Schnittstelle auf Reiter "Starten".

Dazu muss normalerweise indirekt Outlook.exe als ActiveX geladen werden (siehe Taskmanager-Prozesse).

Hier gibt es nur eine Ausnahme: Outlook muss 32-bittig sein, und die Option "Nur RDO" ist auf dem Reiter "Optionen - RDO/Divers" aktiv.
[X] Nur RDO (Synchronisation direkt mit Outlookprofil und nicht über Outlook.exe)
Nur so muss Outlook.exe nicht zusätzlich im Speicher sein! Das Profil wird per Extended MAPI gelesen (RDOiCal4OL.dll = Redemption.dll).
Zudem ist es hier wichtig, dass die Outlook.pst-Datei in Ordnung ist, dh. ScanPST.exe sollte mal gelaufen sein.


Also "iCal4OL.exe TRAY" wird durch den Taskplaner gestartet, Outlook.exe indirekt als ActiveX, und danach beides wieder beendet (Falls natürlich auch Outlook paralell manuell gestartet war, bleibt Outlook.exe im Speicher).
Dies wiederholt sich im Intervall des Taskplaners.

Einziges (altes) Problem mit Outlook <= 2003: Es gab Stabilitätsprobleme bei mehrfachem Starten und Beenden von Outlook.exe als ActiveX. Nach ca. 23mal, starteten alte Outlook-Versionen nicht mehr. Mittlerweile aber nie mehr erlebt..

Trick:
Wird im Taskplaner "TRAY015" verwendet (Also mit Sync-Wiederholung) zb. alle zwei Stunden, muss eine Fehlermeldung abgefangen werden, falls iCal4OL.exe noch läuft (falls nicht abgestürzt oder manuell beendet):
Dazu eine Datei erstellen (Inhalt egal) %AppData%\iCal4OL\NoMultiMsg.txt
Falls also iCa4lOL noch im Tasktray läuft, wird still und leise der zweite Startversuch abgebrochen. Wäre iCal4OL.exe irgendwie abgeschossen oder beendet worden, würde es wieder gestartet..

Wichtig bei Taskplaner:
"Mit höchsten Berechtigungen ausführen" darf dort NICHT aktiv sein!


2)
Per OLTrigger.exe wird normalerweiese "iCal4OL.exe TRAY015" verwendet. Also so, dass sich der Sync wiederholt..
iCal4OL.exe und auch Outlook.exe (ausser bei "Nur RDO") bleiben hier immer im Speicher, egal ob Outlook auch manuell gestartet wird/wurde.

Hierzu gibt es noch eine Option auf dem Reiter "Optionen - Start (Allgemein)", welche ich aber nicht empfehle abzuschalten:
[X] Behalte ActiveX-Outlook-Verbindung, bem Warten auf den nächsten Sync im Tasktray (Stabilität)
Dadurch könnte zwischen den Sync Outlook.exe ganz entladen werden, aber das könnte das (alte) Problem von oben 1. auslösen.


3)
Die Logik von ActiveX ist immer zu testen, ob Outlook.exe schon im Speicher ist. Es sollten also NIE zwei Outlook.exe unter Prozesse auftauchen... und Sie ahnen es schon: Auch hier schludert manchmal Windows und lädt ein zweites Outlook.exe, was leider dann den Sync verunmöglicht. Dies trat vorallem unter WinXP auf, aber da "WinXP" ja meistens 32-bittig ist, und somit auch Outlook 32-bittig ist, half hier immer "Nur RDO", wo ja Outlook.exe gar nicht benötigt wird!



Noch nicht genug gelesen? Hier noch etwas mehr Hintergrund... und Probleme ;-)

4)
Ist Outlook/Office 64-bittig, muss Outlook.exe immer geladen werden. Microsoft hat da einen riesen Trick angewendet, damit auch 32-bittige Programme auf Outlook.exe 64-bittig zugreifen können (Out of Proc Server).
Hier gibt es auch ein zusätzliches Problem: Wird Outlook.exe 64-bittig genau während einem Sync beendet, wird die ActiveX-Verbindung für 32-bittige Programm beendet. Dh. iCal4OL könnte abstürzen, falls es in einem sehr kritischen Moment passiert. iCal4OL muss also andauernd hier testen, ob die ActiveX-Verbindung noch steht und erneuern, kann das aber logischerweise nicht bei jedem Programmschritt (iCal4OL könnte also "selten" abstürzen).

Tipp: Lassen Sie Outlook.exe immer laufen (nur in Tasktray verkleinern)


5)
Bei wiederholendem Sync wie zb. durch "TRAY015" kann die Wiederholung automatisch beendet werden, durch die folgende Option auf dem Reiter "Starten - Start (Allgemein)":
[X] Beende iCal4OL im Tasktray, falls Outlook geschlossen wird (verzögert...)
     [X] In Tasktray belassen (....)



Es gibt also etliche Optionen/Startparameter um iCal4OL zu starten und zu beeinflussen.
Was ist das Beste?! Ich weiss es nicht...

Es ist natürlich schön, ein Tasktray-Icon für iCal4OL zu haben (falls dieses nicht gerade in der ersten Win10-Version spinnt - Abhilfe siehe Option "HIDE").
Es ist eigentlich auch sinnvoll, keinen Sync zu machen (auszusetzen), falls Outlook.exe nicht gestartet ist - stört aber auch nicht weiter.

Die modernste Art ist sicher mit "OLTrigger.exe" und der Option, den Sync zu beenden, falls Outlook.exe nicht interaktiv benutzt wird (und bei 32-bittigem Outlook mit "Nur RDO").

Da es je nach PC auch StandBy-Probleme geben könnte, ist auch der Taskplanerstart mit "TRAY015" plus der Datei %AppData%\iCal4OL\NoMultiMsg.txt eine sichere Option (falls mal iCal4OL.exe durch den StandBy abstürzt).

Viele Benutzer verwenden iCal4OL nur nach Bedarf für einen einmaligen Sync (entweder per "TRAY" oder interaktiv).

Last edited by Roland (2017-07-26 07:39:56)

Offline

 

Board footer