Установка приложения, собранного на VS 2005
Релиб
Форумы       Участники    Календарь    Кто он-лайн?
Добро пожаловать, гость ( Вход | Регистрация )
        



Установка приложения, собранного на VS 2005 Expand / Collapse
Автор
Сообщение
07.03.2007 17:28


Forum Guru

Forum GuruForum GuruForum GuruForum GuruForum GuruForum GuruForum GuruForum Guru

участник
Last Login: 16.05.2007 18:38
Сообщ.: 68, Visits: 382
Поделитесь  опытом  установки  приложенией,  собранных  на  VS 2005,
пожалуйста.

Никак не получается. Уже решил все сделать с нуля. Создал в VS2005 просто пустое мультидокументное
приложение и решил на его примере тестировать дистрибутив.

Попытка первая.

Собрал релиз, положил его в папку c:\temp (например)
Туда же положил файлы из C:\Program Files\Microsoft Visual Studio 8\VC\redist\x86\Microsoft.VC80.MFC:

Microsoft.VC80.MFC.manifest
mfc80.dll
mfc80u.dll
mfcm80.dll
mfcm80u.dll

Теперь смотрю при помощи утилиты Dependency Walker и вижу, что библиотека mfc80u.dll подгружается из
C:\windows\winsxs\x86_microsoft.vc80.mfc_1fc8b3b9a1e18e3b_8.0.50727.42_x-ww_dec6ddd2, а отнюдь не из
каталога, где расположена программа. Соответственно, если я буду устанавливать программу на машине, с
отсутствующим каталогом
C:\windows\winsxs\x86_microsoft.vc80.mfc_1fc8b3b9a1e18e3b_8.0.50727.42_x-ww_dec6ddd2 и файлами в нем,
то программа не будет запущена :-(
В порядке эксперимента переименовываю в этом каталоге файл mfc80u.dll и, действительно, программа при
загрузке сообщает:
"Ошибка при инициализации приложения (0х0000034)..."

Попытка вторая. В манифест программы, который встроен в ресурсы пишу:

 <dependency>
    <dependentAssembly>
      <assemblyIdentity type='win32' name='Microsoft.VC80.MFC' version='8.0.50727.42'
processorArchitecture='x86' publicKeyToken='1fc8b3b9a1e18e3b' />
    </dependentAssembly>
  </dependency>
  <file name="mfc80.dll"/>
  <file name="mfc80u.dll"/>
  <file name="mfcm80.dll"/>
  <file name="mfcm80u.dll"/>

Теперь Dependency Walker показывает мне, что модуль mfc80u.dll вызывается из того же каталога, что и
главный модуль программы. Отлично, все эти файлы здесь и лежат. Но! Теперь сообщение при запуске:
"Приложение не было запущено, поскольку оно некорректно настроено..."

Я  уж  читал-читал  про  этот  side-by-side.  Не сомневаюсь, что там в
документации все написано... Но никак не могу разобраться. Помогите, пожалуйста.

Тащить  с  дистрибутивом  три  варианта  Microsoft  Visual  C++  2005
Redistributable Package для x86, IA64 и x64, жутко не хочется...

Сообщ. #911330
08.03.2007 10:32
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

модератор
Last Login: 09.07.2008 2:17
Сообщ.: 1 298, Visits: 12 500
в VS 2005 встроенна утилита для упаковки и создания msi-инсталяторов, попробуйте ее, я обычно так поступаю

Удачи,
Владимир
Сообщ. #911335
08.03.2007 11:04


Forum Guru

Forum GuruForum GuruForum GuruForum GuruForum GuruForum GuruForum GuruForum Guru

участник
Last Login: 16.05.2007 18:38
Сообщ.: 68, Visits: 382
Спасибо за совет. Про MSI я уже думал, но вдруг так не хочется менять инсталлятор. Думал разобраться - что же он там делает, куда пишет в реестр и что, чтобы сделать средствами InnoSetup при установке.

Понятно, что эти библиотеки надо как-то регистрировать как side-by-side. Но вот как... Был бы мой английский лучше, разобрался бы. А так читаю-читаю, через слово понимаю, но разобраться пока так и не смог.

Статическая линковка библиотек не желательна в моем случае.

Сообщ. #911336
08.03.2007 14:38


Forum Guru

Forum GuruForum GuruForum GuruForum GuruForum GuruForum GuruForum GuruForum Guru

участник
Last Login: 16.05.2007 18:38
Сообщ.: 68, Visits: 382
boombastik (08.03.2007)
в VS 2005 встроенна утилита для упаковки и создания msi-инсталяторов, попробуйте ее, я обычно так поступаю

А проекте, созданном при помощи Windows Installer, какие, например, свойства выставлять для файла mfc80u.dll? Чтобы он зарегистрировался в side-by-side... Куда его писать? И т.п.

Хотя, лучше бы, конечно, все сделать без Windows Installer, а уже привычными средствами.

Сообщ. #911337
« пред. тема | след. тема »


Эту тему читают Expand / Collapse
Посетители: 0 (0 гостей, 0 участников, 0 скрыт.участников)
Сейчас нет участников, просматривающих тему.
Модераторы: Alexey, boombastik, bazile, pl

Время GMT +3:00, Сейчас 1:23