ILMerge and automated program transfer

Incorporating the DevExpress components in your executable can be done using ILMerge. In my case ILMerge is run through a .bat-file and works like this :

.\ILMerge\ILMerge.exe /targetplatform:v4 /target:winexe /out:.\OutputDir\mss.exe mss.exe .\DevExpress\DevExpress.BonusSkins.v11.1.dll .\DevExpress\DevExpress.Data.v11.1.dll
.\DevExpress\DevExpress.OfficeSkins.v11.1.dll .\DevExpress\DevExpress.Printing.v11.1.Core.dll
.\DevExpress\DevExpress.Utils.v11.1.dll .\DevExpress\DevExpress.XtraEditors.v11.1.dll

It takes mss.exe and the DevExpress DLL’s and merges them into one executable .\OutputDir\mss.exe

Right after that .\OutputDir\mss.exe is compressed using 7zip.

.\7zip\7z.exe a .\OutputDir\mss.zip .\OutputDir\mss.exe

And finally it is transferred to the website using WinSCP. I’m using Windows XP and as far as I know the build in ftp-client doesn’t support passiv FTP. I believe that ftp-clients in later versions of Windows does support passiv FTP. So if your using a later version than XP of Windows. You can do essentially the same thing with the build in ftp-client. But if your using XP and is connecting to a passiv FTP-server, you can use WinSCP.

.\FTP\winscp.exe /script=”.\FTP\script.txt”

Script.txt looks like this:

open <session in WinSCP>
option confirm off
put “.\OutputDir\MSS.ZIP” “/Programs/MSS.ZIP”
exit

“Options confirm off” lets you overwrite a file without being prompted. You also need to create a session in WinSCP (GUI) or else you will get the following message:

Automatic actions are disabled when URL address is provided on command-line.