3

У нас есть устаревшее приложение для Windows, которое проверяет, запущено ли оно в 32- или 64-битной системе. Очевидно, что нет доступной 64-битной версии, но сейчас мы сталкиваемся с ситуацией, когда мы ДОЛЖНЫ запускать ее на 64-битной рабочей станции Windows 7. Если не считать раскручивания 32-битной виртуальной машины для этой цели, есть ли у кого-нибудь предложения, которые могут обойти эту проблему?

3 ответа3

6

Метод, который я использую, помечает желаемое приложение заголовками для 32-битных библиотек DLL, поэтому каждый раз, когда я выполняю его, приложение видит библиотеки 32-битного режима и загружает их в свое пространство памяти:

  1. Загрузите Microsoft Windows SDK для Windows 7 и .NET Framework 4 ;

  2. Установить его;

  3. Загрузите утилиту Microsoft CorFlags с именем CorFlags.exe из папки Bin каталога программных файлов SDK;

  4. Отметьте ваше приложение, чтобы использовать 32-битные DLL, используя:

    CorFlags /32BIT+ yourapplication.exe
    

При следующем запуске приложения Windows увидит новый заголовок и выполнит его как 32-разрядное приложение. Ваше приложение будет использовать 32-битные библиотеки DLL, предоставляемые Windows.

2

Visual FoxPro не может использовать 64-битные драйверы ODBC, даже если в противном случае приложение будет нормально работать в 64-битной системе.

Чтобы обойти эту проблему, откройте командную строку с повышенными правами и запустите C:\Windows\SysWow64\odbcad32.exe чтобы настроить DSN.

(Бесстыдно сорвал отсюда.)

2

Я знаю, что вы сказали, что не хотите раскручивать виртуальную машину для этого, но XP Mode будет делать именно то, что вам нужно, и он может работать прозрачным образом, поэтому приложение не работает на виртуальной машине.

Установите XP Mode и посмотрите, подходит ли он вам.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .