program Attach; {$APPTYPE CONSOLE} uses SysUtils, Classes, UnitPackSystem; var eStream: TMemoryStream; eFiles: TStringList; begin WriteLn('// File attacher for the MM:S installer'); WriteLn('// by Basic-Master'); WriteLn(''); WriteLn('// Looking up files...'); { Check files } if FileExists(ExtractFilePath(ParamStr(0)) + 'files\hl2launch.exe') then WriteLn('// Found files\hl2launch.exe') else begin WriteLn('// Error: Couldn''t find files\hl2launch.exe!'); ReadLn; exit; end; if FileExists(ExtractFilePath(ParamStr(0)) + 'files\server.dll') then WriteLn('// Found files\server.dll') else begin WriteLn('// Error: Couldn''t find files\server.dll!'); ReadLn; exit; end; if FileExists(ExtractFilePath(ParamStr(0)) + 'files\server_i486.so') then WriteLn('// Found files\server_i486.so') else begin WriteLn('// Error: Couldn''t find files\server_i486.so!'); ReadLn; exit; end; if FileExists(ExtractFilePath(ParamStr(0)) + 'MMS_Installer.exe') then WriteLn('// Found MMS_Installer.exe') else begin WriteLn('// Error: Couldn''t find MMS_Installer.exe!'); ReadLn; exit; end; { Compress files } WriteLn('// Compressing files...'); eFiles := TStringList.Create; eFiles.Add(ExtractFilePath(ParamStr(0)) + 'files\hl2launch.exe'); eFiles.Add(ExtractFilePath(ParamStr(0)) + 'files\server.dll'); eFiles.Add(ExtractFilePath(ParamStr(0)) + 'files\server_i486.so'); eStream := TMemoryStream.Create; CompressFiles(eFiles, ExtractFilePath(ParamStr(0)) + 'temp.zip'); eStream.LoadFromFile(ExtractFilePath(ParamStr(0)) + 'temp.zip'); WriteLn('// Attaching output to MMS_Installer.exe...'); AttachToFile(ExtractFilePath(ParamStr(0)) + 'MMS_Installer.exe', eStream); DeleteFile(ExtractFilePath(ParamStr(0)) + 'temp.zip'); eStream.Free; WriteLn('// Done.'); ReadLn; end.