Forum for iCal4OL, Print4OL and ICS4OL

Exchange of experiences / Erfahrungsaustausch / Get Help

You are not logged in.


Verkauf von iCal4OL an Neukunden ist eingestellt! Keine Demo mehr verfügbar..
Diese Seite ist ausschliesslich für Kunden, welche auch noch zusätzliche Lizenzen kaufen können.
The selling of iCal4OL has ended! No trial available anymore..
This site is exclusively for customers, which may still want to buy additional licenses.

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

#1 2010-11-19 08:11:52
New member
Registered: 2010-11-19
Posts: 6

How to sync multiple calendars (No. of iCal4OL instances running on a PC)


We have a unique problem in that we have to share around 16 calendars between 7 users.  I can see that there is a limit on how many iCal4OL instances you can install on your PC. Is this a software lock and can we run more than 9 instances on the one machine?
Has anyone else come across this limitation and manage to find a work around?




#2 2010-11-19 08:41:42

Registered: 2007-11-25
Posts: 1516

Re: How to sync multiple calendars (No. of iCal4OL instances running on a PC)

Do you mean on tab "Run" under the button [Scheduled Tasks] to make copies of iCal4OL?

You could make additional copies by hand (e.g. iCal4OL16.exe under C:\Program Files\iCal4OL\), but this is not the way to go, because it's extremely heavy load for Outlook to handle multiple simultaneous access (and the timing with 16 copies, is difficult).

Better use the approach by multiple configuration files (*.ini) on tab "Run"!
The assistants for CalDAV and Google Calendar API will automatically create additional *.in for secondary or delegated calendars..

==> SEE HOW-TO IN NEXT POST! Introduction see

Chaining - Manually:.
Right-click on e.g. Default.ini to see the context menu, and then choose "copy..", to duplicate this configuration file, then "load it" (again with right-click), to modify it as needed.
In Default.ini you must later on mark those *.ini to run one after the other (=chaining)...

This is the best way to go, e.g. on a User PC, sixteen *.ini are chained together (including Default.ini) for those 16 calendars.

by batch file (*.bat¦*.cmd)
If different Outlook profiles are used (e.g. with Exchange - and all user syncs are handled on e.g. one virtual machine), you MUST use a batch file approach (e.g. "RuniCal4OL.cmd"), which you can later start by the OS tasks planer.
See example here:   
(see the trick to wait 5 seconds, so Outlook.exe will "hopefully" get unloaded inbetween runs... this may take longer, so add some more seconds e.g. 15)
In every *.ini you have to select the correct OL profile on tab "Options - Startup"...
(iCal4OL will stop, if Outlook.exe is still running from previous run, because it's impossible to find out the already loaded profile.)

With a batch file it's possible, to chain multiple syncs, too. Use a Link (*.lnk) to start the batch file minimized (there is a way to hide *.cmd completely, google yourself). Example:


Start /WAIT "(1)" "C:\Program Files\iCal4OL\iCal4OL.exe" TRAY "C:\documents and settings\<profile>\Appdata\iCal4OL\Test1.ini"

REM Wait several seconds, if a different Outlook Profile must get loaded
ping -n 2>nul
ping -n 2>nul
ping -n 2>nul

Start /WAIT "(2)" "C:\Program Files\iCal4OL\iCal4OL.exe" TRAY "C:\documents and settings\<profile>\Appdata\iCal4OL\Test2.ini"


Last edited by Roland (2010-11-19 08:53:42)



#3 2010-11-24 07:01:59

Registered: 2007-11-25
Posts: 1516

Re: How to sync multiple calendars (No. of iCal4OL instances running on a PC)


Here a step by step procedure to make manually additional configuration files (*.ini) and link them together = Chaining:

======> This is an old Post !!!!!!!!!!!!!!!!!!!
======> Use one of the wizards (assistants) on tab "Who" !!!!!!!!!!!!!!!

Note: For DARWIN CalendarServer and EPL/EGroupware I designed a special CalDAV-Configuration-Assistant,
         which can manage up to 5 additional users/calendars!
         ==> Save first Default.ini, then click on [CalDAV Assistant ......], there on [New Assistant (beta)] (choose the correct line!), there on [Enhanced Assistant]...
         ==> For EPL/EGroupware >= 1.8.001 it's at least possible, to retrieve the Contact Collections (CardDAV),
                 which should be synced. This is already implemented in the [New Assistant (beta)] directly.

Before starting iCal4OL, start Outlook and make OL (Outlook) - Calendar - Subfolders
Here a German picture... use right-click in the "folder view" on "Calendar", then choose "New Folder.."
==> The main Calendar is for the Outlook User on this PC.
        Add additional subfolders like "Room1" (= my example) for every calendar, you wish to sync in addition!
        It's best, to name those folders on every PC the same (e.g. Loginname of Resource/User/Group) for easy deployment of *.ini

Now start iCal4OL: Configure the default configuration (=Outlook User Calendar) and save it.
The configuration file is Default.ini. Path used for *.ini on WinXP: C:\documents and settings\<profile>\Appdata\iCal4OL\
                                                                       on Vista/Win7:  C:\Users\<profile>\Appdata\Roaming\iCal4OL\      (if UAC is active..)

IMPORTANT: Do not use on tab 2.1 MORE this option in Defaut.ini:
==> This SHOULD only be marked if the LAST configuration file (*.ini) in a CHAIN, because deleted items are still needed to get synced in other *.ini.
==> For Exchange Calendars (which do not move deleted items to "Deleted Items Folder") activate on tab OPTIONS - EXCHANGE: [X] Monitor deleted Exchange items
==> In this example, PRIVATE items will not get uploaded.

Go on tab "Run" and right-click Default.ini, choose "Copy", name it as needed e.g. "Room1"

Now right-click on "Room1" and "Load"...

Now change the configuration for this additional "Room1.ini"

5.1) tab WHO:
- Change the fullname and email address to the info of the server calendar owner! Do no use your name (if it's not a Google Sub-Calendar => see below)!
  Server Resources like "Room1" SHOULD have an email-address, too! Define it on the server!

  ==> This is important to determine which attendee is the owner of the server calendar!

  ==> For Google Calendar (GCAL) Sync this field does not matter "so much".
          It can stay for Google Sub-Calendars your fullname + <default> email address,
          or it can be changed to the pseudo email address shown in field "UserID: (Kennung)".
          Reason: The organizer of an event will not get uploaded to GCAL.
                       GCAL will automatically interpret the calendar owner as organizer (or keep the original organizer).

- To be able, to make invitations on behalf of "Room1" (CalDAV-Sync), without adding the Outlook-User as attendee with status "accepted" (Outlook does it automatically - so some trick is needed), use following option:
Here some more explanations: Later on the events scheduling tab, I want to make an invitation for "Room1" to "Person1" and "Person2"
It should look like this:
The "black" line is the Outlook Default User (in this case me..).
Outlook always adds the Outlook User (because it does think, it's the organizer). With the option above, this line will get ignored, during upload to the server. The "real" organizer is determined by Owner/Email on tab WHO!

- If you want to invite the Outlook User, too...just add it again on a line below.
- To see FreeBusy-Information from DAViCal (or other CalDAV servers), you MUST configure the server to allow FreeBusy Feed WITHOUT Authentification!
  Outlook CAN NOT access a freebusy feed by e.g. BASIC REALM! EGroupware can be configured for a general freebusy password as GET-Parameter.
  To add the freebusy feed, the users MUST be added as CONTACT in OL. On Contacts tab "Detail" you'll find the field, to enter the address for freebusy.
  Search the forum for additional help by "freebusy"...

- It's probably a good idea, to deactivate reminders of other user calendars during import/download.
Otherwise they may pop-up in Outlook >=2007, too.
Resetting a reminder will "update" this event - so the event will get uploaded again without reminder at next sync.
So - really - you should deactivate the download of reminders for other users (sub-)calendars.
Note: There is a macro available, to circumvent the update of LastModificationTime for iCal4OL (works inside OL - but not for the exchange option to use external DB for sync fields).

5.4) tab 1. HOW:
Don't forget to change here the necessary info for Outlook AND Server Calendar!
CalDAV Auth: Normally, you SHOULD NOT use the credentials of another user. You SHOULD configure your Websolution, so you have the Rights (ACL) to do everything (or just read) with your credentials!
Here a DAViCal-CalDAV-Assistant example, where "Roland" accesses the calendar of "user1" (I don't have a "Room1" on my server, sorry..):

So, if a "Room1" user/resource is existing, the tab HOW should now look like this (DAViCal example), after SAVING:
1. This is the owner login
2. This password field is not used
3. Here your Login/Password to access the calendar of "Room1"
4. Select the correct OL calendar

=> To do just a 1-Way-CalDAV-Download-Sync change the field "UserID:" to  caldav down asFeed  (+ additional parameters, depending on your server)
      CalDAV-Parameter-Doc is here:

6) Now TEST IT!
If you are not sure, mark SIMULATION, to check LOG.txt (Show LOG on tab RUN).
Perhaps you want to define Import/Export filter for PRIVATE ...  as needed (see above for not uploading PRIVATE. Use tab 1.1 MORE - Filter Items - to not download PRIVATE items)

IMPORTANT for copying Room1.ini later onto a different PC for deploying (see path above):
==> Empty field "Date/Time last run (otherwise empty); updated automatically" after testing!
==> Make NOW a copy of Room1.ini to a save place, because this field will get set again by LAST CHAINED TEST !

7) After testing and saving of Room1.ini, we have to go back to Default.ini
So right-click on tab RUN on Default.ini and LOAD it.

8) The chaining is easy: just mark Room1.ini on tab RUN.

9) It's time for LAST CHAINED TEST!
Close iCal4OL and use a Link under START - ALL PROGRAMS - iCal4OL - .... e.g "iCal4OL TRAY every 5 min."

So for 16 calendars you will need all in all 16 .ini files!

At Last
My English is not perfect, and perhaps I forgot some important info (=first version of this HOW-TO).
It would be very helpful, if you mail/post corrections, questions and remarks about this step by step tutorial, thanks wink


Last edited by Roland (2011-04-19 13:08:50)



#4 2010-12-06 05:26:10
New member
Registered: 2010-11-19
Posts: 6

Re: How to sync multiple calendars (No. of iCal4OL instances running on a PC)

Thank you Roland I haven't had much time to have a look at this lately but with this step by step you posted it make it much easier and will help a lot.
I will let you know how I go.   Thanks again.



#5 2011-04-26 08:39:31

Registered: 2011-04-06
Posts: 12

Re: How to sync multiple calendars (No. of iCal4OL instances running on a PC)

Super Anleitung, hat soweit alles geklappt!
Allerdings habe ich 20 INI Dateien die abgearbeitet werden müssen und jedesmal wenn die 18. aufgerufen wird, kommt eine Fehlermeldung:
"Remote iCalendar Adresse ist falsch, wurde nicht gefunden oder Proxy ist aktiv...."

Die INI einzeln abzurufen funktioniert ohne Probleme!
Gibt es ein Limit an INIs für iCal4OL?



#6 2011-04-26 09:39:38

Registered: 2007-11-25
Posts: 1516

Re: How to sync multiple calendars (No. of iCal4OL instances running on a PC)

Hmm, mir ist kein Limit bewusst - und ich habe auf die Schnelle auch nichts gefunden.

Die 18te klappt also IMMER nicht, auch wenn mal zb. die 18te mit der 17ten in Default.ini getauscht würde ("move up/down" rechts des ListViews auf Reiter START)?!

Tja, irgendwo in den Niederungen.... könnte eine Ermüdungserscheinung sein.
Wird immer  WinInet.dll ODER WinHttp.dll eingesetzt (Optionen - HTTP_DLL), oder wird da abgewechselt?

Zur Not evtl. aufteilen und mit iCal4OL2.exe arbeiten (siehe ganz oben + Dok Startparameter + [Geplante Tasks]).



#7 2011-04-26 11:56:35

Registered: 2011-04-06
Posts: 12

Re: How to sync multiple calendars (No. of iCal4OL instances running on a PC)

Habe mich verzählt, es ist der 19te der nicht klappt. Getauscht habe ich auch schon, aber er bricht immer beim 19ten ab, egal welcher Eintrag dort steht.
In den Optionen hatte ich bisher gar nichts eingestellt, was ist denn empfehlenswert?

Ansonsten werde ich nun erstmal den Tipp mit der iCal4OL2.exe ausprobieren

Danke schonmal!



#8 2011-04-26 15:15:03

Registered: 2007-11-25
Posts: 1516

Re: How to sync multiple calendars (No. of iCal4OL instances running on a PC)

Das Problem taucht ja erst beim Abruf vom Server auf (also die 19te .ini wird geladen).

Es könnte also eine Server-Limite geben (um Missbrauch zu verhindern), welches innerhalb einer gewissen Zeitspanne nur eine gewisse Anzahl Logins erlaubt?!
Ist so zb. in EGroupware (evtl. dort abschalten oder Limite erhöhen). Evtl. auch das error_log von PHP auf dem Server checken..
Der letzte HTTP-Fehler steht jeweils in der Datei (unter WinXP): C:\Dokumente und Einstellungen\<profil>\Anwendungsdaten\iCal4OL\WinHTTP.html  (oder Sniffer installieren, zb. SmartSniff).

Ich weiss nicht mit was Sie synchronisieren...
- Für CalDAV gibt es das Flag "no_auth", welches BASIC REALM direkt in einen HTTP-Request einbettet (und es nicht WinHttp/WinInet überlässt). Siehe CalDAV-Dokumentation hier im Forum.

Optionen: ohne exakte Frage/Angabe lässt es sich nicht beantworten ;-)
- Zb. die HTTP_DLL: WinInet läuft stabiler bei Proxy-Einsatz, aber instabiler bei VPN.
  Es gibt auch Abhängigkeiten, wie zb. für CalendarServer, wo nur dann alle Features funktionieren (CalDAV-Scheduling), falls mit WinInet gearbeitet wird.
  WinHttp OHNE die Option "[ ] Keine Popups anzeigen..." braucht aber am wenigsten CPU.

- Zb. verhindere ich den Upload von Geburts- und Namenstagen auf den Server. Reiter Optionen - Export Filter:
  NICHT enhalten in Betreff: /(^Geburtsta.*|^Jahresta.*)/

- Bitte auch die Einführung auf der FAQ lesen.



#9 2011-04-27 09:01:41

Registered: 2011-04-06
Posts: 12

Re: How to sync multiple calendars (No. of iCal4OL instances running on a PC)

Mein Hoster ( hat die Funktion error_log leider aus Sicherheitsgründen abgeschaltet, also kann ich nicht darauf zurückgreifen.

Hier mal der Fehler den iCal4OL anzeigt:

und hier der passende Text auf der LOG Datei:

==> 27.04.2011 08:44:40 2.11.0 Import gestartet: http://www.***.de/icalclient.php

==> Einstellungen: C:\Users\Admin\AppData\Roaming\iCal4OL\***.ini > 26.04.2011 08:17:33

==> Als "read-only" abonnieren (Achtung: Tooltip lesen!)

==> Outlook Kalender: *** (***)

==> Aufgaben auch importieren: Aufgaben

==> Dublettenerkennung aktivieren (gleiches Datum, Startzeit und Betreff - oder gleiche EntryID/UID)

--> eGW/WebDAV: Markiere nicht mehr im Import vorhandene Termine mit <Deleted> während Export/Upload

--> eGW/WebDAV: Entferne mit <Deleted> marktierte Termine nach dem Export/Upload

--> [X] Seperat starten gleich nach Import

--> Import UTF-8 decodieren (0=Auto; 1=nie; 2=immer; [3=WinHTTP; 5=LCID-2048; 6=China]):1


==> Verbinden mit Remote iCalendar...

==> Remote iCalendar Adresse ist falsch, wurde nicht gefunden oder Proxy ist aktiv (=>Proxycfg.exe)

Alternativ die ics-Datei im Internet-Browser downloaden und dann hier als Importdatei angeben!

==> Abgebrochen...


==> 27.04.2011 08:45:01 beendet! http://www.***.de/icalclient.php

==> Gelesen: 1

<-> Übergangen: 1

<!> Gelöscht: 0

<+> Importiert: 20

(Kalender-Namen und Adresse der Website habe ich durch *** ersetzt)

Hier nochmal mein Setup:
Der Webcalender liegt auf dem kostenfreien Webserver KILU welcher PHP und SQL etc. unterstützt.
Ical4OL habe ich hier auf einem Notebook wobei die Internetverbindung über einen Router hergestellt wird (kein Proxyserver)
Auf dem Notebook ist Windows 7 und Outlook 2010 installiert

Problem gelöst, es lag wohl an dem Server von KILU.
Habe nun endlich eine Lösung gefunden damit der Webcalender auch auf unserem Strato Server über die icalclient.php eine ICS Datei ausspukt.
Somit habe ich das ganze nochmal auf dem Strato Server getestet und es funktioniert!


Last edited by KH (2011-04-27 11:10:20)



#10 2011-05-20 04:56:05

Jack Andrew
New member
Registered: 2011-05-20
Posts: 1

Re: How to sync multiple calendars (No. of iCal4OL instances running on a PC)

How many Cal4ol i can install in one pc? Can anybody explain me?

Last edited by Jack Andrew (2011-05-23 14:57:24)



#11 2011-05-20 06:45:01

Registered: 2007-11-25
Posts: 1516

Re: How to sync multiple calendars (No. of iCal4OL instances running on a PC)

See the second post (above)!

Normally, you should use the chaining of configuration files on tab "Run", to sync multiple calendars. So the best practice is (just) one.
(Just one installation for all OS users is enough)

Outlook is significantly slowed down, if multiple instance of iCal4OL.exe are running together!
If you are using the OS Scheduler = [Scheduled Tasks], and make a perfect timing (never two syncs together), you may make several copies, e.g. iCal4OL2.exe, iCal4OL3.exe  with the function under the button [Scheduled Tasks] on tab "Run". All copies should be in the same folder, e.g. C:\Program Files\iCal4OL\
Do not install iCal4OL parallel into different paths! The name of the *.exe file is used to determine, where the configuration files (*.ini) are stored.
E.g. for iCal4OL2.exe it's C:\documents and settings\<profile>\AppData\iCal4OL2\Default.ini

(Running the Setup File to update a previous installation, will check automatically if iCal4OL2.exe, iCal4OL3.exe .. iCal4OL20.exe exist, and does update them, too)



Board footer