When using multiple ifdef directive the isTool automatic puts an ; in front of some directives that are active.
Take a look on the sample below:
#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 I dont declare ...
Try to do that same code and alter from Script section to Files section for example and go back to script again and you will see the code changed by isTool.