У мене проблема з нашим виконуваним файлом. Я запускаю цей 32-розрядний виконуваний файл C ++ на 64-розрядному вікні розробки Windows 7, в якому також є всі ті програми Microsoft (Visual Studio 2008 + 2010, TFS, SDK, Microsoft Office) ... І він все ще працює просто чудово.
Тепер я отримав клієнтську інсталяцію тієї самої програми, і мені запропонували протестувати її на чистій установці Windows 7. Таким чином, я отримав один 64-розрядний VMware для Windows 7 і оновив його до Windows 7 SP 1 (та сама версія, яку налаштовує моя скринька розробника). Але в моєму вікні розробника все нормально, програма не працює з вікном VMware (30 днів пробного періоду).
Прогулянковий хокер x86 повідомляє мені, що відсутні такі файли DLL:
- API-MS-WIN-CORE-COM-L1-1-0.DLL
- API-MS-WIN-CORE-WINRT-ERROR-L1-1-0.DLL
- API-MS-WIN-CORE-WINRT-L1-1-0.DLL
- API-MS-WIN-CORE-WINRT-ROBUFFER-L1-1-0.DLL
- API-MS-WIN-CORE-WINRT-STRING-L1-1-0.DLL
- API-MS-WIN-SHCORE-SCALING-L1-1-0.DLL
- DCOMP.DLL
- GPSVC.DLL
- IESHIMS.DLL
Я переглянув ці файли DLL API-MS-WIN -... і виявив, що вони фактично вже повинні бути частиною Windows 7 (хоча деякі сайти, які заявляють, що належать до Windows 8 та Windows Server 2012).
Я вже спробував запропоновані нами виправлення, які є:
- працює 'sfc / scannow'
- встановлення виконавчих файлів Visual Studio 2008 SP1
Але це нічого не вирішило. :-(
Бічна примітка: У моєму вікні розробки їх також немає, і, здається, вони не потребують. Наприклад, user32.dll у моєму вікні не посилається на один із них, тоді як установка на VMware робить.
Будь-яка ідея, як виправити це питання? Я спробував знайти відповідне завантаження / виправлення на сторінках Microsoft, але не вдалося.
Після вирішення свого питання я хотів повідомити про те, що дізнався, і не можу опублікувати це як відповідь, оскільки питання закрите.
Насправді всі DLL-файли, про які повідомляється, відсутніми інструментом Dependency Walker, а саме такі
* API-MS-WIN-CORE-...
Файли DLL типу не були частиною фактичної проблеми.
У моєму випадку реєстрація трьох файлів OCX відсутня, і після цього все було просто нормально, але інструмент Walker Dependency Walker все ще перераховував усі ті самі файли DLL, що і раніше, навіть коли програма тільки зараз працює нормально.
Суть цього: Як зазначав хтось інший, інструмент на сьогоднішній день трохи застарів і не завжди працює належним чином з новою ОС. Таким чином, тримайте очі відкритими і не вводите в оману, пропускаючи "API-MS-WIN-CORE-COM-L1-1-0.DLL", ... проблема, ймовірно, лежить повністю в іншому місці.