Shpalichf
Newbie | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Для меня решена проблема совместимости thinstall-приложений с Windows-7 x64. Определяющие факторы: 1) В файле Pakage.ini в секции [BuildOptions] нужно раскоментировать параметр Wow64=0 Производитель так и написал: If you have problems running a 32 bit application under 64 bit Windows, try enabling this line before building the project Где же мои глазоньки-то были... 2) Путь к контейнеру .dat не должен содержать пробелов. Менее значимые факторы: 3) Проект собирал на Windows-7 x86. На XP он не заработал, т.к. библиотека COMCTL32.ocx была обновлена в Windows-7, и программы, написанные ранее под оболочкой Windows-XP выдают кучи ошибок. Если вы знаете, что программа написана на Visual Basic и использует OCX-элементы управления, обязательно положите их в папку %SystemSystem%. В моем случае даже на чистой системе Windows-7 уже оказалась эта библиотека и программа в процессе установки не стала перерегистрировать ее на старую версию... Вот только не пойму, почему прога работала... Но как только я взял эти библиотеки из XP и поставил режим изоляции WriteCopy на папку %SystemSystem% - прога заработала. Еще пара таких библиотек: COMDLG32.OCX, Grid32.ocx, MSFLXGRD.OCX, TABCTL32.OCX - старые элементы управления, которые были обновлены в Windows-7, а в Windows-XP их на чистой системе просто нет! 4) Режим изоляции в Pakage.ini поставил DirectoryIsolationMode=Merged, RegistryIsolationMode=WriteCopy. Для всех папок поставил WriteCopy или Full, для дисков %drive_C%, %drive_D%, %drive_E%... поставил Merge. После этого прога стала четко работать с реальной папкой своих баз данных SampleIsoDir (до этого она сохраняла файлы в песочницу или сохраняла на диск только первый вариант файла, а при последующих Save - снова в песочницу). PS: Еще я заметил, что при обновлении Thinstall-программ с помощью утилиты relink - контейнер принимает большой размер, т.е. перепаковка с атрибутом CompressionType=None. И еще вывод - relink никак не исправляет проблему совместимости с Windows-7 x64, это можно сделать перепаковав проект самостоятельно, выставив в Pakage.ini "Wow64=0" Добавлено: Путь к контейнеру .dat - это в смысле имя файла самого контейнера, например I-Sketch_v2.dat (неправильно: I-Sketch v2.dat) |