Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.09.11;
Скачать: 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 вся ветка

Текущий архив: 2003.09.11;
Скачать: CL | DM;

Наверх




Память: 0.45 MB
Время: 0.008 c
1-33637
Сергей Резников
2003-08-28 16:32
2003.09.11
Перетаскивание и TListView


1-33627
solo
2003-08-31 19:48
2003.09.11
Ширина полей для принтера


3-33426
Игорь Ч
2003-08-22 08:25
2003.09.11
При выполнении хранимой процедуры блокируется таймер !??


1-33672
Aleksandr
2003-08-29 15:22
2003.09.11
Как узнать, какой объект вызвал TAction?


1-33658
Ryabinin Grisha
2003-08-30 05:07
2003.09.11
Линейный график





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский