Вниз
Скачать: CL | DM;

Версии MDAC   Найти похожие ветки 

← →
Borealis   (2003-08-18 22:55) [0]

Помогите, пожалуйста, разобраться с версиями MDAC, что то я уже окончательно запутался... :(

В определённый момент времени, моя программа должна поискать в своём дистрибутиве инсталляшку компонентов MDAC и если найдена хотя бы одна, то выяснить какую версию MDAC обеспечивает эта инсталляшка (если найдено более одной инсталляшки, то выбрать из них самую последнюю). Потом необходими выяснить какая версия MDAC уже установлена на компьютере и если более старая, то предложить пользователю "освежить" компоненты MDAC.

Пролемы начинаются уже при определении установленной версии MDAC: если положить на форму TADOConnection и скомандовать: ShowMessage(ADOConnection1.Version) то мне сообщается, что установлена версия "2.7", хотя на самом деле у меня стоит "2.71".

Тот же самый результат даёт и следующий код:
function GetMDACVersion: String;
var
mdac: OleVariant;
begin
try
mdac := CreateOleObject("ADODB.Connection");
Result := mdac.Version;
except
Result:="";
end;
end;


Как более точно определить версию установленного MDAC?

Но на этом проблемы не заканчиваются. У меня есть две инсталляшки компонентов MDAC:
mdac_27.exe -> Устанавливает MDAC 2.7 и
mdac_SP1.exe -> Устанавливает MDAC 2.71

Получаю версии файлов инсталляторов:
.. a b c d
mdac_27.exe 27.0.7713.4
mdac_SP1.exe 27.1.9040.2


Обратите внимание, что написано "двадцать семь", а не "два и семь", поэтому нужно преобразовать в нормальный вид. Я пока вижу всего два варианта:
1) IntToStr(a div 10) + "." + IntToStr((a mod 10) * 10 + b)
2) IntToStr(a div 10) + "." + IntToStr(a mod 10) + IntToStr(b)

Оба варианта для первой инсталляшки выдают "2.70", а для второй "2.71", но правильно ли это? Вот допустим Microsoft выпустит инсталляшку mdac_SP10.exe (с ними это может случиться), тогда первый вариант даст "2.80" (!), а второй "2.710" т.е. "2.71" (?). Как быть в этой ситуации?

ps. Я тут наверно много чего напутал, но буду благодарен любым дельным советам.


← →
doomin   (2003-08-20 17:39) [1]

Возьми просто готовую программу - инсталлятор, например Wise Installation System, она эти вещи отслеживает самостоятельно



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.012 c
1-33617
Layner
2003-09-01 08:59
2003.09.11
Как по ESC закрыть форму, причем не важно, где находится курсор


1-33537
DelphiNew
2003-09-01 14:43
2003.09.11
Проверка вводимых символов


14-33793
Romkin
2003-08-22 14:37
2003.09.11
А Кэрролла еще не поминали?


1-33642
Islander
2003-08-30 21:27
2003.09.11
Как грамотно уничтожить форму, чтобы освободилась память?


1-33655
qwerty2
2003-09-01 16:39
2003.09.11
Как избавиться от песочных часов в курсоре




   Наверх