InstallShield Limited Edition - проблемы со страницей общей информации и сбой VS 2010
Я думаю, что скоро буду сожалеть о дне, когда я решил использовать InstallShield, а не WiX.
У меня был небольшой опыт работы с WiX, и он казался мне немного сложным в использовании, поэтому, когда пришло время для реального проекта, я решил использовать новый Flexera InstallShield LE для Visual Studio 2010. Сначала это казалось таким простым, я создал и скомпилировал первый проект установки без проблем. Ему даже удалось извлечь информацию COM из некоторой сторонней библиотеки (которая была скомпилирована с использованием VC 6, насколько я знаю).
Но когда я добавил к этому решению еще несколько проектов установки InstallShield (ISL), возникли странные проблемы. Если я отредактирую страницу "Общая информация" одного проекта ISL и затем нажму кнопку "Сохранить все", информация внезапно перепутается с частями из других проектов ISL, некоторые поля отображаются как UNITITIALIZED STRING, а некоторые поля просто смешиваются. И когда я открываю другие проекты ISL, я вижу, что информация там тоже запутана. Похоже, что единственным решением является выгрузить все другие проекты ISL при редактировании страницы с общей информацией.
Проблема номер два: вылетает. Мой проект представляет собой смешанное приложение на C++/C#. Иногда при редактировании неуправляемого кода C++ Visual Studio просто падает на некоторых определенных операциях (таких как комментирование некоторых блоков кода, вырезание, вставка). Я даже установил Visual Studio 2010 SP1, но это не помогло. Сбои полностью прекратились, когда я выгружал все проекты ISL.
Во всяком случае, я разочарован, и теперь у меня есть выбор:
Оставайтесь с ISL, создайте мой собственный исполняемый файл, который будет установлен и будет запускать regsvr32. Тем не менее, мне придется мириться с сбоями Visual Studio и проблемами со страницей общей информации.
перейти на установщик Windows XML. Но я не уверен, на каком этапе это сейчас, не будут ли у меня такие же проблемы? Может ли WiX зарегистрировать COM для меня (также он может зарегистрировать 32-битные библиотеки DLL на 64-битных системах, используя regsvr32 из папки syswow64)? Это стабильно с Visual Studio 2010?
Я буду очень признателен за ваши предложения о том, что мне делать - остаться с ISL или перейти на WiX, особенно от тех, кто является опытным пользователем WiX в Visual Studio 2010.
1 ответ
Я настоятельно рекомендую перенести установщики установки на Windows Installer XML (WiX).
Я сделал это много лет назад и никогда не оглядывался назад.:)
Wix v3.5 очень стабильный. У меня не было проблем с его интеграцией с Visual Studio, среди многих других его функций.
Это открытый исходный код, и сообщество очень полезно.
Вы можете использовать heat.exe для извлечения информации COM из файла. http://wix.sourceforge.net/manual-wix3/heat.htm
Вы можете вызвать regsvr32.exe, например, на целевом компьютере, используя встроенную функцию тихого выполнения.
http://wix.sourceforge.net/manual-wix3/qtexec.htm
Эта ссылка также описывает, как запускать 64-битные исполняемые файлы.
Вы можете использовать свойство [SystemFolder] для выполнения файла, например, в c:\windows\syswow64.
http://msdn.microsoft.com/en-us/library/aa372055.aspx
Технология DTX WiX идеально подходит для написания пользовательских действий MSI в C#.
НТН.