Ошибка загрузчика и замены загрузчика VisualStudio MSI - PullRequest
1 голос
/ 10 февраля 2009

Прямо сейчас я создаю msi и setup.exe с помощью Visual Studio. Работает довольно хорошо ... до недавнего времени.
Недавно я добавил новое диалоговое окно с Combo Box Control в MSI. Теперь, когда я устанавливаю приложение напрямую с помощью msi, все работает просто отлично.
Но когда я запускаю Setup.exe, ComboBox отображается неправильно. В раскрывающемся списке отображается только один элемент за раз. Все элементы все еще там, и я даже могу выбрать их, используя клавиши вверх / вниз или буквы (например, 'S' для SQL Server).

Кто-нибудь видел подобную проблему раньше? Более того, когда я использую InstallShield для создания установки, исполняемый файл, созданный InstallShield, снова работает нормально.

Итак, я полагаю, мне нужно исправить это с помощью Visual Studio. Любые идеи, как это исправить визуальную студию начальной загрузки?

Платформа:

Использование Visual Studio 2005 для сборок.

ОС: Windows XP SP3.

На сборочном компьютере установлен Windows Installer 4.5, но это не является обязательным требованием. Сам MSI прекрасно работает с установщиком Windows 3.

Кроме того, проблема не в том, что установка завершается слишком быстро, или в том, что она не устанавливается должным образом ... Это происходит. Единственная проблема заключается в том, что поле со списком не отображается должным образом, и это может запутать некоторых пользователей.

Ответы [ 3 ]

1 голос
/ 12 марта 2009

Я не смог точно выяснить, ПОЧЕМУ загрузчик VS вел себя так, как был, но захват другого Setup.exe из другого проекта (не созданного с использованием VS) устранил проблему.

[У меня сложилось впечатление, что в Setup.exe есть какая-то идентифицирующая информация или ссылка на MSI, которую он должен запустить. Очевидно нет. Просто добавив другой файл setup.exe, все получилось.]

Надеюсь, это кому-нибудь поможет.

1 голос
/ 10 февраля 2009

С какой версией Visual Studio вы работаете? Вы используете VS2008 SP1?

Существует известная проблема с загрузчиком из этой версии Visual Studio, представленной в пакете обновления 1 (SP1). Может быть, вы столкнулись с той же проблемой? Вы можете проверить подробности этой проблемы на сайте Microsoft Connect:

https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=369138

Здесь также идет обсуждение: http://social.msdn.microsoft.com/Forums/en-US/winformssetup/thread/3731985c-d9cc-4403-ab7d-992a0971f686/

РЕДАКТИРОВАТЬ: На самом деле то, что было исправлено в SP1, также может решить вашу проблему. Разница в SP1 заключается в том, что загрузчик запускает реальный установщик MSI. До SP1 установка MSI (то есть msiexec) была запущена как дочерний процесс загрузчика (т.е. setup.exe). Теперь он запускается как не дочерний процесс, и setup.exe возвращается, как только завершается процесс начальной загрузки и запускается MSI. Вы также можете увидеть разницу, потому что раньше кнопки в мастере установки не использовали стиль темы Windows XP / Vista.

0 голосов
/ 14 февраля 2009

В самом MSI, какова настройка высоты элемента управления поля со списком? Свойство height управляет комбинированной высотой области выделения и области перетаскивания. Если он установлен слишком низко, вы получите описываемое вами проблемное поведение (хотя это не объясняет, почему иногда оно кажется правильным).

...