Проект установки VS2010 зависает в «Выбор папки установки» - PullRequest
1 голос
/ 13 июля 2010

У меня есть довольно простой проект c # winforms, с которым связан проект установки.У него есть один пользовательский диалог (Textboxes (A)).Когда я запускаю установщик, он останавливается, когда я нажимаю Next, чтобы перейти к диалоговому окну Select Installation Folder.Затем через несколько минут размораживается.Когда я наконец нажимаю Install, окно исчезает, но msiexec.exe все еще работает в фоновом режиме (на самом деле два из них).

Может кто-нибудь сказать мне, что, черт возьми, не так?1008 * РЕДАКТИРОВАТЬ: Вот журнал msiexec: http://www.mediafire.com/?jqmmimwjgni

Ответы [ 2 ]

3 голосов
/ 14 июля 2010

Проблема не в длине имени, а в том, что имя DATABASE используется как внутреннее свойство MSI, содержащее полное имя файла установочного файла 1 .

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

MSI это не нравится. К сожалению, я не смог найти места, где задокументировано, что имя DATABASE зарезервировано (встроенные свойства MSI задокументированы здесь ). Так что я бы не сказал, что это ошибка в MSI, но плохая юзабилити документации / разработчика (как, к сожалению, слишком часто бывает в случае установщика Windows)

В вашем лог-файле вы найдете следующие записи:

MSI (c) (64: 1C) [19: 30: 12: 339]: ИЗМЕНЕНИЕ НЕДВИЖИМОСТИ: Изменение свойства DATABASE. Его текущее значение - «d: \ ... mysetup.msi». Его новое значение: «ProgressNotes».

И позже, когда установщик зависает:

MSI (c) (64:68) [19: 30: 41: 701]: примечание: 1: 1314 2: ProgressNotes

Здесь, вероятно, должен отображаться полный путь к вашему MSI-файлу ...

Решение: используйте любое другое имя, которое не зарезервировано.

1 Это легко увидеть, если установить для Edit1Property значение «DBProperty» и для параметра Edit1Value значение [DATABASE] (без одинарных кавычек).

1 голос
/ 13 июля 2010

Я нашел это!Я почти уверен, что это какая-то ошибка в проекте установки (может кто-нибудь еще подтвердить это?).

РЕДАКТИРОВАТЬ : См. 0xA3 ответ для реальная причина того, почему это не удается.

Шаги для воспроизведения:

  1. Добавить Textboxes (A).
  2. Добавить набор из одного изEdit1Property, Edit2Property и т. Д. До DATABASE что-то БОЛЬШЕ , чем 7 символов .
  3. Перестройте и установите проект (следуетзавис на экране Select Installation Folder).

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

PS - Худшая ошибка когда-либо для отслеживания:)

Сообщение об ошибке было зарегистрировано с Microsoft.

...