[Setup] ; include either setup-win32.txt or setup-x64.txt #include "setup-win32.txt" ;#include "setup-x64.txt" [Types] Name: full; Description: Full installation Name: server; Description: Server installation Name: client; Description: Client installation Name: custom; Description: Custom installation; Flags: iscustom [Components] Name: server; Description: UniMRCP server; Types: full server Name: server\recorder; Description: Recorder plugin; Types: full server Name: server\demosynth; Description: Demo synthesizer plugin; Types: full server Name: server\demorecog; Description: Demo recognizer plugin; Types: full server Name: server\demoverifier; Description: Demo verifier plugin; Types: full server Name: client; Description: UniMRCP client (sample applications); Types: full client [Dirs] Name: {app}\data; Permissions: everyone-full Name: {app}\log; Permissions: everyone-full [Files] Source: {#= uni_outdir}\bin\unimrcpserver.exe; DestDir: {app}\bin; Components: server Source: {#= uni_outdir}\bin\unimrcpservice.exe; DestDir: {app}\bin; Components: server Source: {#= uni_outdir}\bin\unimrcpclient.exe; DestDir: {app}\bin; Components: client Source: {#= uni_outdir}\bin\umc.exe; DestDir: {app}\bin; Components: client Source: {#= uni_outdir}\bin\*.dll; DestDir: {app}\bin; Components: server client Source: {#= uni_outdir}\plugin\mrcprecorder.dll; DestDir: {app}\plugin; Components: server/recorder Source: {#= uni_outdir}\plugin\demosynth.dll; DestDir: {app}\plugin; Components: server/demosynth Source: {#= uni_outdir}\plugin\demorecog.dll; DestDir: {app}\plugin; Components: server/demorecog Source: {#= uni_outdir}\plugin\demoverifier.dll; DestDir: {app}\plugin; Components: server/demoverifier Source: {#= uni_outdir}\conf\unimrcpserver.xml; DestDir: {app}\conf; Components: server Source: {#= uni_outdir}\conf\unimrcpclient.xml; DestDir: {app}\conf; Components: client Source: {#= uni_outdir}\conf\client-profiles\*.xml; DestDir: {app}\conf\client-profiles; Components: client Source: {#= uni_outdir}\conf\umcscenarios.xml; DestDir: {app}\conf; Components: client Source: {#= uni_outdir}\data\*.pcm; DestDir: {app}\data; Components: server client Source: {#= uni_outdir}\data\*.xml; DestDir: {app}\data; Components: server client Source: {#= uni_outdir}\data\*.txt; DestDir: {app}\data; Components: server client [Icons] Name: {group}\UniMRCP Server Console; Filename: {app}\bin\unimrcpserver.exe; Parameters: "--root-dir ""{app}"""; Components: server Name: {group}\UniMRCP Client Console; Filename: {app}\bin\unimrcpclient.exe; Parameters: "--root-dir ""{app}"""; Components: client Name: {group}\UniMRCP Service\Start Server; Filename: {app}\bin\unimrcpservice.exe; Parameters: --start; Components: server Name: {group}\UniMRCP Service\Stop Server; Filename: {app}\bin\unimrcpservice.exe; Parameters: --stop; Components: server Name: {group}\Uninstall; Filename: {uninstallexe} [Run] Filename: {app}\bin\unimrcpservice.exe; Description: Register service; Parameters: "--register ""{app}"""; Components: server [UninstallRun] Filename: {app}\bin\unimrcpservice.exe; Parameters: --unregister; Components: server [Code] var Content: String; procedure ModifyPluginConf(PluginName: String; Enable: Boolean); var TextFrom: String; TextTo: String; begin if Enable = True then begin TextFrom := 'class="' + PluginName + '" enable="0"'; TextTo := 'class="' + PluginName + '" enable="1"'; end else begin TextFrom := 'class="' + PluginName + '" enable="1"'; TextTo := 'class="' + PluginName + '" enable="0"'; end StringChange (Content, TextFrom, TextTo); end; procedure CurStepChanged(CurStep: TSetupStep); var CfgFile: String; begin if CurStep = ssPostInstall then begin CfgFile := ExpandConstant('{app}\conf\unimrcpserver.xml'); LoadStringFromFile (CfgFile, Content); ModifyPluginConf ('mrcprecorder', IsComponentSelected('server\recorder')); ModifyPluginConf ('demosynth', IsComponentSelected('server\demosynth')); ModifyPluginConf ('demorecog', IsComponentSelected('server\demorecog')); ModifyPluginConf ('demoverifier', IsComponentSelected('server\demoverifier')); SaveStringToFile (CfgFile, Content, False); end end;