I am developing some Illustrator scripts using VBScript, which should work on CS5, CS6 or CC 2014. When the scripts will be called, the user will pass, as command line argument, which Illustrator version they want to use. Accordingly I am instantiating the appropriate Illustrator scripting object by the following code:
If version = 1 Then
Set appRef = CreateObject("Illustrator.Application.CS5")
ElseIf version = 2 Then
Set appRef = CreateObject("Illustrator.Application.CS6")
ElseIf version = 3 Then
Set appRef = CreateObject("Illustrator.Application.CC.2014")
Set appRef = CreateObject("Illustrator.Application")
This is working correctly in one system where CS5 and CC 2014 are both installed. However, in another similar system, where CS5 and CC 2014 are both installed, this is failing. There, always the CC 2014 version is being used, even when the user wants to use CS5. On inspection it is found that the issue is with registry entry of LocalServer32 subkey of the Illustrator.Application.CS5 automation object. There I see, the path of CC 2014 executable is stored, not that of CS5. The value is C:\Program Files\Adobe\Adobe Illustrator CC 2014 (32 Bit)\Support Files\Contents\Windows\Illustrator.exe /automation. Hence, the statement CreateObject("Illustrator.Application.CS5") is actually starting the CC 2014 Illustrator version.
Does anyone know how this could have happened? Is this some installation behavior of CS5 or CC 2014, that can be controlled? In this machine CC 2014 was installed after CS5. Does CC 2014 change the registry settings of CS5, if it was installed? That seems very unlikely, as then how can one use both CS5 and CC 2014 in a system through scripts? It is possible that this is a one-off case where the registry entries have been "accidentally" changed. However, I would like to be sure.
I can re-install CS5 in this system where the issue is noted and probably the problem will go away. However, the scripts may be used in many different installations and I cannot possibly ask users to reinstall Illustrator everywhere. Moreover, this problem can occur sometimes in the future too.
Any suggestion regarding the cause and a possible full-proof solution will be highly appreciated.
Thanks in advance,