When using multiple ifdef directives the isTool automatic puts an quote char (';') in front
of some directives that shouldnt be desactivated.
Take a look on the sample below:
#define CLIENT
#ifndef TRIAL
Source: Arquivos\hdd.dll; Flags: noencryption; DestDir: {sys}
Source: Arquivos\WinSysUup; Flags: noencryption; DestDir: {sys}
Source: Arquivos\WinSysVvp; Flags: noencryption; DestDir: {sys}
#ifdef CLIENT
; Source: Arquivos\DVRClientConfig.cpl; DestDir: {sys}
#else
; Source: Arquivos\OXDVR.exe; DestDir: {app}
; Source: Arquivos\currentAppVersion.xml; DestDir: {app}
#endif
#ifdef SERVER
; Source: Arquivos\OXDVRServer.exe; DestDir: {app}
#else
; Source: Arquivos\OXDVRRec.exe; DestDir: {app}
#endif
#endif
The quote char was inserted by isTool and the Directive CLIENT was defined.
This happens if I define the CLIENT or the SERVER directive or even if dont define anything ...
Try to do that same code and toogle between Script section to Files section for
example then go back to script again and you will see the code changed by isTool.
Logged In: YES
user_id=1335773
Originator: YES
I've founded that the bug isnt with the IFDEF directives.
It happens when you for example insert some spaces before the Source tag for example.
Like that:
Source: SomeFile; DestDir: {app}
But if you write it this way
Source: SomeFile; DestDir: {app}
The problem doesnt happen :)
I hope someone fixit in the future ;)
Regards,
Diego M. Garcia.