|
Тема |
Re: Client/Server инсталация [re: coolman] |
|
Автор |
Beco_ (Boogie chillun) |
|
Публикувано | 19.02.07 09:44 |
|
|
Първата ти задача е да сравниш версиите на exe-то на сървъра и кл. компютър. В директория ...\Examples\Controls\VersionInfo има компонент, който трябва да се компилира и инсталира. С негова помощ четеш версиите на exe-тата и ги сравняваш. Ако са различни, стартираш едно др. ехе, което затваря клиентското ехе, тегли новото ехе и го обновява със старото.
Тегленето на новото ехе, може да стане по 2 начина, със стартиран FTP сървър на компа, където е сървъра или по TCP с Indy. Вторият вариант е за предпочитане. Ето как става:
- слагаш TIdTCPServer компонента на сървъра
- Кода в обработка на събитието TIdTCPServer->OnExecute() :
try // C++ code!
{ String strTmp = ExtractFilePath(Application->ExeName) + String("NEW.EXE");
if (!FileExists(strTmp))
throw Exception("Липсва новото ехе на съврърчето");
TFileStream *fs = new TFileStream(strTmp,fmOpenRead|fmShareDenyWrite);
try
{ AThread->Connection->WriteStream(fs,true,true);
}
catch(Exception &e)
{ delete fs;
throw Exception(e.Message);
}
delete fs;
Athread e нишката, която автоматично се създава във ф-ята OnExecute().
|
| |
|
|
|