kpdozer
Junior Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Hmuryj_Mik Я попробую покороче объяснить. На самом деле задача была не совсем в портабельности программы. ThinApp мне понадобился для перехода с XP на Windows7. Есть некая спецпрограмма (назовем ее SzBase), которая прекрасно работает на XP и не работает на Windows7. Дело в родных виндовых библиотеках (dll) располагающихся в папке System32. Программа просто не работает с их новыми версиями. Т.к. дистрибутив программы достаточно большой, я хотел чтобы в виртуальном контенере был запакован только EXE файл и нужные для него библиотеки (так сказать рационально использовать RAM). Остальные части он будет хватать из реальной систмы, причем все изменения в реестре и файлах должны фиксироваться и в реальной системе тоже (ну или хотя бы только в файлах). И вобщем-то все получилось. У меня получился EXE контейнер (не на много больший, чем оригинальный exe-файл) и его можно использовать в Windows7. Но возникла проблема, программа по умолчанию устанавливается в C:\Program Files\SzBase\BIN и EXE-файл внутри этого контейнера, думает что он находится по этому пути (откуда бы контейнер не запускался). А значит программа ищет оставшуюся часть именно по абсолютному пути C:\Program Files\SzBase\BIN. Если же программ установлена по другому пусть например c:\SzBase. То контейнер ничего не найдет и программа опять не запустится. А задача в том, чтобы установить программу, куда хочу или поместить ее вообще на фрешку, бросить контейнер в папку с программой и он, сам бы зацепил оставшуюся часть. Может быть я иду по неверному пути, но в данном подходе я получаю легкое редактирования как файлов программы, так и реестра, без необходимости делать это внутри контейнера. | Всего записей: 119 | Зарегистр. 07-12-2007 | Отправлено: 21:37 13-12-2010 | Исправлено: kpdozer, 21:39 13-12-2010 |
|