My approach is to deploy a customize installation executable of Zimbra Desktop for Windows.
To achieve this, I think I have to do the following steps:

Step 1: Build dist of Zimbra Desktop for Windows
Step 2: Make file for installation with Install4J

I read through the build.xml and found the target offline-make-dist. I think this is what I want.
The build ends up with the following error:

Code:
offline-gen-derbyij:
     [java] Error: Can't expand config key krb5_keytab=${zimbra_home}/conf/krb5.keytab
     [java] com.zimbra.common.localconfig.ConfigException: null valued key 'param.install.dir' referenced
     [java] com.zimbra.common.localconfig.ConfigException: null valued key 'param.install.dir' referenced
     [java]     at com.zimbra.common.localconfig.LocalConfig.expandOnce(LocalConfig.java:105)
     [java]     at com.zimbra.common.localconfig.LocalConfig.expand(LocalConfig.java:118)
     [java]     at com.zimbra.common.localconfig.KnownKey.expand(KnownKey.java:209)
     [java]     at com.zimbra.common.localconfig.KnownKey.expandAll(KnownKey.java:63)
     [java]     at com.zimbra.common.localconfig.LocalConfig.expandAll(LocalConfig.java:327)
     [java]     at com.zimbra.common.localconfig.LocalConfig.<init>(LocalConfig.java:177)
     [java]     at com.zimbra.common.localconfig.LocalConfig.readConfig(LocalConfig.java:343)
     [java]     at com.zimbra.common.localconfig.LocalConfig.<clinit>(LocalConfig.java:348)
     [java]     at com.zimbra.common.localconfig.Main.main(Main.java:108)
     [java] Exception in thread "main" java.lang.ExceptionInInitializerError
     [java]     at com.zimbra.common.localconfig.Main.main(Main.java:108)
     [java] Caused by: java.lang.RuntimeException: com.zimbra.common.localconfig.ConfigException: null valued key 'param
.install.dir' referenced
     [java]     at com.zimbra.common.localconfig.LocalConfig.<clinit>(LocalConfig.java:352)
     [java]     ... 1 more
     [java] Caused by: com.zimbra.common.localconfig.ConfigException: null valued key 'param.install.dir' referenced
     [java]     at com.zimbra.common.localconfig.LocalConfig.expandOnce(LocalConfig.java:105)
     [java]     at com.zimbra.common.localconfig.LocalConfig.expand(LocalConfig.java:118)
     [java]     at com.zimbra.common.localconfig.KnownKey.expand(KnownKey.java:209)
     [java]     at com.zimbra.common.localconfig.KnownKey.expandAll(KnownKey.java:63)
     [java]     at com.zimbra.common.localconfig.LocalConfig.expandAll(LocalConfig.java:327)
     [java]     at com.zimbra.common.localconfig.LocalConfig.<init>(LocalConfig.java:177)
     [java]     at com.zimbra.common.localconfig.LocalConfig.readConfig(LocalConfig.java:343)
     [java]     at com.zimbra.common.localconfig.LocalConfig.<clinit>(LocalConfig.java:348)
     [java]     ... 1 more

BUILD FAILED
D:\projects\Zimbra\zcs-5.0.18_GA_3020-src\ZimbraOffline\build.xml:639: Java returned: 1
I use Apache Ant 1.7.1 and Java 1.5.0_18.