Почему приложение MFC Ado не работает на другом компьютере? - PullRequest
0 голосов
/ 14 ноября 2018

Я создал приложение с использованием VC ++ 2015. Это приложение MFC. Я установил проект "Cahracter Set = Not set", поэтому мне не нужна версия Unicode.

Мое приложение использует ADO для подключения к базе данных, поэтому

try {

    HRESULT hr = m_pConnection.CreateInstance(__uuidof(adoNS::Connection));
    if (SUCCEEDED(hr)) {
        MessageBox(TEXT("CreateInstance succeeded!"));
}
    catch (_com_error& e) {
    MessageBox(e.Description());
}
catch (...) {
    MessageBox(TEXT("OnNewDocument Exception!"));
}

Итак, другая обработка выше. Когда я собираю проект, он отлично работает на моем компьютере Windows 7 x64. Но если я запускаю приложение на другом Windows 7, я не получаю никаких исключений, CreateInstance не выполняется! ??

Так что проблема с библиотекой ADO, как я могу это выяснить, пожалуйста?

После некоторого поиска я скопировал папку ADO с целевой машины (другой компьютер под управлением Windows 7 x86) на мой компьютер (с win7 x64) и VS2015. Теперь я импортировал эту новую библиотеку ADO:

 #import "C:\Users\User7\Desktop\MyMfcProg\ado\msado15.dll" \
    rename_namespace("adoNS") \
    rename("EOF", "adoEOF")

Теперь, если я соберу его, он будет нормально работать на обеих машинах! Так в чем же проблема? Должен ли я ссылаться на ADO каждого целевого компьютера? или проблема касается только ADO 64 бит и ADO 32 бит?

Если это так, у меня на моей win7 x64 ADO: C:\Program Files (x86)\Common Files\System\ado

Я связался с ним, но та же проблема?

...