Устранение проблем, связанных с проектами установки и развертывания

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

Версии платформы .NET Framework, требуемые проекту установки и приложению, отличаются друг от друга

Проекты установки содержат условие запуска, с помощью которого можно проверить версию платформы .NET Framework. Версия может не совпадать с целевой версией платформы .NET Framework, используемой приложением. Например, приложение предназначено для платформы .NET Framework 2.0, а условие запуска в проекте установки выполняет поиск и установку платформы .NET Framework 3.5. В качестве другого примера можно привести случай, когда шаблон проекта Visual Studio предназначен для клиентского профиля платформы .NET Framework 4, а проект установки содержит условие запуска для проверки и установки платформы .NET Framework 4.

Чтобы изменить это поведение по умолчанию, выполните следующие действия:

  1. В обозревателе решений щелкните проект установки.

  2. В меню Вид наведите указатель мыши на пункт Редактор и выберите Условия запуска.

  3. Щелкните пункт .NET Framework.

  4. В окне "Свойства" для свойства Версия укажите версию платформы .NET Framework, наличие которой проект установки должен проверить и которую он должен установить.

Убедитесь, что программа Setup.exe также выполняет проверку и установку правильной версии платформы .NET Framework. Дополнительные сведения см. в разделах Диалоговое окно "Необходимые компоненты" и Практическое руководство. Установка необходимых компонентов при развертывании с помощью установщика Windows.

Не удается установить .NET Framework 3.5 с пакетом обновления 1 (SP1) в Windows Server 2008 R2 или Windows 7

Проекты установки можно настраивать так, чтобы они включали .NET Framework 3.5 SP1 в качестве необходимого компонента. Однако при установке этого необходимого компонента на компьютере под управлением Windows Server 2008 R2 или Windows 7 появляется следующее сообщение об ошибке: "Для установки и настройки Microsoft .NET Framework 3.5 SP1 необходимо использовать средство управления ролями". Windows Server 2008 R2 включает в себя .NET Framework 3.5 SP1 в качестве необязательного компонента операционной системы, однако по умолчанию он отключен. Дополнительные сведения см. в статье Which Version of .NET is Built into Windows?

Для устранения этой ошибки внесите изменения в пакет загрузчика .NET Framework 3.5 SP1.

  1. Создайте исполняемую программу, выполняющую командную строку "ocsetup Netfx3".

  2. Перейдите к папке %ProgramFiles(x86)%\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages\DotNetFX35SP1.

  3. Скопируйте исполняемую программу в папку DotNetFX35SP1.

  4. Перейдите к папке en и откройте файл package.xml с правами администратора.

  5. Добавьте в раздел <Commands> элемент <Command> для запуска исполняемой программы.

Ошибки при использовании утилиты захвата реестра Microsoft Visual Studio в Windows 7

При использовании утилиты захвата реестра Microsoft Visual Studio (regcap.exe) на компьютере под управлением Windows 7 может появиться следующая ошибка: "Программа Microsoft Visual Studio Registry Capture Utility не работает". Проект установщика может быть построен, однако впоследствии библиотека DLL не будет устанавливаться.

Для устранения этой ошибки выполните следующие действия.

  1. Перейдите к папке %ProgramFiles(x86)%\Microsoft Visual Studio 10.0\Common7\Tools\Deployment.

  2. Щелкните правой кнопкой мыши файл regcap.exe и выберите команду Свойства.

  3. Перейдите а вкладку Совместимость.

  4. Установите флажок в разделе Режим совместимости.

В проектах установки Visual C++ не обнаруживаются зависимости

При добавлении проекта установки в решение Visual C++ зависимости в решении могут не обнаруживаться, если в пути к папке содержатся пробелы. Для устранения ошибки переименуйте проекты, удалив пробелы, или добавьте зависимости вручную. Например, переименуйте папку Documents\Visual Studio 2010\Projects в Documents\VisualStudio2010\Projects.

Не удается построить проекты установки в Visual Studio с системой управления версиями

При построении проектов установки в Visual Studio 2008 могут возникать такие ошибки, как "Эта команда не может быть выполнена, так как файл имя_файла.vdproj находится в системе контроля версий и не может быть извлечен". Проекты установки не извлекают файлы из системы управления версиями автоматически.

Поддержка операционной системой

В ядре сервера Windows Server 2008 и ядре сервера Windows Server 2008 R2, которые предоставляют серверную среду с небольшим обслуживанием и ограниченной функциональностью, загрузчик Visual Studio и установщик Visual Studio (проекты установки) не поддерживаются. Например, при установке ядра сервера поддерживается только профиль ядра сервера платформы .NET Framework 3.5, поэтому функции Visual Studio, зависящие от всей платформы .NET Framework, работать не могут. Дополнительные сведения см. в разделе Server Core.

Не удается установить настраиваемые управляемые действия

При установке настраиваемого управляемого действия может появиться сообщение об ошибке, указывающее, что файл с расширением INSTALLSTATE отсутствует. Эта ошибка возникает в случае, если настраиваемое управляемое действие не реализует действие "Установить". Действие "Установить" создает файл с расширением INSTALLSTATE, а другие действия выполняют обновление файла.

Чтобы устранить причину возникновения этой ошибки, реализуйте в настраиваемом действии следующие действия: "Установить", "Удалить", "Зафиксировать" и "Отменить".

Не удается установить языковые пакеты платформы .NET Framework 3.5 с пакетом обновления 1 (SP1) для языкового стандарта, если Visual Studio 2008 использует другой языковой стандарт

Если в проектах установки в качестве необходимого компонента выбрана платформа .NET Framework 3.5 с пакетом обновления 1 (SP1), Visual Studio не создает загрузчик или программу установки для установки языкового пакета, предназначенного для другого языкового стандарта. Например, если используется версия Visual Studio, отличная от японской, в проекте установки отсутствует языковой пакет платформы .NET Framework 3.5 с пакетом обновления 1 (SP1), предназначенный для поддержки японского языка.

Чтобы устранить причину возникновения этой ошибки и создать распространяемый языковой пакет платформы .NET Framework 3.5 с пакетом обновления 1 (SP1), предназначенный для поддержки японского языка, создайте новый каталог "ja" в папке "%ProgramFiles%\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages\DotNetFX35SP1". В каталоге "ja" должны находиться файлы eula.rtf и package.xml.

Не удается установить языковые пакеты, если платформа .NET Framework 3.5 с пакетом обновления 1 (SP1) уже установлена

Невозможно установить языковые пакеты платформы .NET Framework 3.5 с пакетом обновления 1 (SP1) на компьютере с установленными ранее базовыми компонентами платформы .NET Framework 3.5 с пакетом обновления 1 (SP1). Например, если на компьютере уже установлена платформа .NET Framework 3.5 с пакетом обновления 1 (SP1), невозможно установить языковой пакет платформы .NET Framework 3.5 с пакетом обновления 1 (SP1), предназначенный для поддержки японского языка, в качестве необходимого компонента в установщике другого приложения.

В качестве обходного пути создайте пакет загрузчика исключительно для языковых пакетов. В созданный пакет загрузчика добавьте зависимость от платформы .NET Framework 3.5 с пакетом обновления 1 (SP1), чтобы языковые пакеты устанавливались только в том случае, если платформа .NET Framework уже установлена. В качестве альтернативного варианта языковые пакеты можно устанавливать вручную.

При использовании 64-разрядных настраиваемых управляемых действий порождается исключение System.BadImageFormatException

Если в проект установки добавляется 64-разрядное настраиваемое управляемое действие, процесс построения Visual Studio встраивает в пакет MSI 32-разрядную версию библиотеки InstallUtilLib.dll в качестве программы InstallUtil. В свою очередь, для запуска 64-разрядного настраиваемого управляемого действия загружается 32-разрядная платформа .NET Framework, что приводит к порождению исключения BadImageFormatException.

Чтобы устранить причину возникновения этой ошибки, замените 32-разрядную версию библиотеки InstallUtilLib.dll 64-разрядной версией, выполнив следующие действия.

  1. В редакторе Orca откройте конечный MSI-файл из пакета SDK установщика Windows.

  2. Выберите таблицу Binary.

  3. В строке с программой InstallUtil дважды щелкните ячейку [Binary Data].

  4. Убедитесь, что переключатель "Read binary from filename" (Считать двоичные данные из имя_файла) установлен, и нажмите кнопку "Browse" (Обзор).

  5. Откройте папку %WINDIR%\Microsoft.NET\Framework64\v2.0.50727.

    Примечание

    Каталог Framework64 устанавливается только на 64-разрядных платформах и соответствует 64-разрядному типу процессора.

  6. Выберите файл InstallUtilLib.dll.

  7. Нажмите кнопку "Open" (Открыть).

  8. Нажмите кнопку "ОК".

Дополнительные сведения см. в разделе 64-разрядные настраиваемые управляемые действия в Visual Studio.

Создание пути для настраиваемого диалогового окна и текстового поля

При создании настраиваемого диалогового окна с текстовым полем диалоговое окно "Папка установки" необходимо разместить после настраиваемого диалогового окна. В этом случае значение пути к каталогу будет распространяться автоматически. Если поменять порядок диалогового окна и диалогового окна "Папка установки", значение пути к каталогу придется распространять вручную.

Появление дополнительных ошибок построения в окне вывода

Помимо конкретных ошибок построения также могут появляться общие сообщения об ошибках, например "Общий отказ при построении начального загрузчика" или "Неисправимая ошибка при построении". В этом случае рекомендуется пренебречь общими сообщениями об ошибках и предпринять меры по устранению причины возникновения конкретной ошибки.

Добавление исключенных ранее файлов при повторном открытии решения

Файл, исключенный из проекта установки, добавляется при закрытии и повторном открытии решения. Подобная ситуация наблюдается при наличии двух копий одного файла библиотеки DLL из двух разных расположений.

Чтобы устранить причину возникновения этой ошибки, измените значение свойства Копировать локально одного из файлов, выполнив следующие действия:

  1. В обозревателе решений щелкните ссылку на библиотеку DLL, которую требуется удалить.

  2. В меню Вид выберите пункт Окно свойств.

  3. Задайте для свойства Копировать локально значение False.

Не удается построить проекты установки из-за ошибки "Недостаточно памяти для завершения операции"

Если в проект установки добавляются большие файлы, при попытке построить проект появляется следующее сообщение об ошибке: "Недостаточно памяти для завершения операции". Данная ошибка возникает даже в том случае, если на локальном жестком диске достаточно свободного пространства. Кроме того, в ходе построения может наблюдаться увеличение объема используемой виртуальной памяти.

Чтобы устранить причину возникновения этой ошибки, установите дополнительный модуль ОЗУ на системную плату компьютера построения или выполните описанные ниже обходные шаги:

  1. Добавьте в проект файл с таким же именем, как и у большого файла.

  2. На странице свойств проекта выберите для установщика значение "Как свободные несжатые файлы".

  3. Постройте проект.

  4. Скопируйте большие файлы в расположение построения.

Проект установки не обновляет измененные файлы

Даже если в проекте установки заданы параметры удаления файлов более ранних версий, установщик Windows не заменяет измененные файлы или файлы, которые были заменены пользователем. Дополнительные сведения см. в разделе Отсутствует версия файла с проверкой хэш-значения.

Не удается проверить наличие платформы .NET Framework 3.5 с пакетом обновления 1 (SP1) с помощью условия запуска

В сценариях с использованием только пакета MSI обнаружение компонентов не поддерживается, если в качестве необходимого компонента выступает платформа .NET Framework 3.5 с пакетом обновления 1 (SP1). Вместо обнаружения необходимо настроить в загрузчике Setup.exe проверку и установку платформы .NET Framework 3.5 с пакетом обновления 1 (SP1). Дополнительные сведения см. в разделе Диалоговое окно "Необходимые компоненты".

Создание 64-разрядного загрузчика с платформой .NET Framework

При добавлении платформы .NET Framework 3.0 в качестве необходимого компонента и установке загрузчика Setup.exe на 64-разрядных компьютерах появляется сообщение о том, что 64-разрядные операционные системы не поддерживаются.

Платформа .NET Framework 3.5 поддерживает как 32-, так и 64-разрядные операционные системы. Если приложение предназначено как для 32-, так и для 64-разрядных операционных систем, в диалоговом окне "Необходимые компоненты" выберите платформу .NET Framework 3.5. Дополнительные сведения см. в разделе Диалоговое окно "Необходимые компоненты".

Инструкции по установке пакетов загрузчика для SQL 2008 и платформы .NET Framework 3.5 с пакетом обновления 1 (SP1)

Пакеты загрузчика для SQL 2008 и платформы .NET Framework 3.5 с пакетом обновления 1 (SP1) можно установить на компьютер развертывания при установке экспресс-выпусков Visual Studio. Поскольку в состав Visual Studio 2010 входят пакеты загрузчика SQL 2008 и платформы .NET Framework 3.5 с пакетом обновления 1 (SP1), данное действие не требуется.

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

Если настраиваемое действие обрабатывает путь к папке установки, вводимый пользователем, может появиться сообщение об ошибке ArgumentException. Причиной возникновения данного сообщения об ошибке может являться недопустимый каталог или URL-адрес.

Чтобы устранить причину возникновения данной ошибки, в свойстве Edit1 и текстовом поле Edit1Value замените символ обратной косой черты на следующее значение (с пробелом): /name="[TARGETDIR] ". Затем выполните разбор значения и создайте полный путь к папке установки с помощью метода Combine.

Не удается добавить символ новой строки (\n) в сообщение об ошибке в проекте установки

При записи сообщения об ошибке невозможно добавить символ новой строки в проект установки или программу Orca.exe. Чтобы добавить символ новой строки, воспользуйтесь API установщика Windows в действии, выполняемом после построения, с помощью следующей команды: "INSERT INTO `Property` (`Property`, `Value`) VALUES 'ERRORMESSAGELINES', 'first\r\nnext\r\nlast')". Дополнительные сведения об использовании действий, выполняемых после построения, см. на веб-странице (https://go.microsoft.com/fwlink/?LinkId=150770).

Не удается выбрать платформу .NET Framework 2.0 с пакетом обновления 1 (SP1) или .NET Framework 3.0 с пакетом обновления 1 (SP1) в диалоговом окне "Необходимые компоненты"

Если платформа .NET Framework 2.0 с пакетом обновления 1 (SP1) или .NET Framework 3.0 с пакетом обновления 1 (SP1) еще не установлена, она не отображается в списке приложений для установки в диалоговом окне "Необходимые компоненты". Платформа недоступна в качестве автономного распространяемого файла. Чтобы установить платформу в качестве необходимого компонента на компьютере пользователя, в диалоговом окне "Необходимые компоненты" выберите платформу .NET Framework 3.5. Дополнительные сведения см. в разделе Диалоговое окно "Необходимые компоненты".

Значение по умолчанию в текстовом поле замещает параметры командной строки

При запуске установщика с флагом \qb и передаче параметров командной строки в набор свойств в пользовательском диалоговом окне возможна перезапись этих параметров. Чтобы предотвратить перезапись клиентом значения по умолчанию для свойства, измените MSI-файл с помощью программы Orca.exe, выполнив описанные ниже действия.

  1. Задайте в качестве значения редактируемого поля в диалоговом окне имя его свойства. Например, задайте для свойства Edit1Value значение [EDITB1].

  2. Постройте MSI-файл в Visual Studio.

  3. Измените MSI-файл с помощью программы ORCA и разместите значение по умолчанию для свойства в таблице Property.

  4. Сохраните MSI-файл.

Для выполнения этой задачи можно также использовать действие, выполняемое после построения. Дополнительные сведения об использовании действий, выполняемых после построения, см. на веб-странице (https://go.microsoft.com/fwlink/?LinkId=150770).

Зависимости между сборками не были обнаружены

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

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

Проблема зависимостей

Решение

В проекте есть ссылка на компонент, который должен быть установлен только как составная часть другого продукта.

  • Удалите данный компонент из проекта развертывания.

  • Добавьте условие запуска, чтобы проверить наличие компонента на целевом компьютере. Если компонент не обнаружен, остановите процесс установки.

В проекте есть ссылка на неуправляемый компонент, который не предоставляет все свои зависимости.

В проекте есть ссылка на сборку, которая имеет зависимость для неуправляемого компонента.

Приложение MFC не локализовано при установке на компьютер, у которого языком системы является язык, отличный от английского

При развертывании приложения MFC с помощью проекта развертывания Visual Studio зависимости для локализованных модулей слияния Mfc_loc_e.msm и Mfc_loc_fe.msm не обнаружены. Модули слияния включены в состав в Visual C++. Расположением установки по умолчанию является папка "Program Files\Common\Merge Modules". Для того чтобы распространять локализованное приложение MFC, необходимо вручную добавить два модуля слияния в проект развертывания.

Не удается найти файлы на веб-сервере после их установки

При установке веб-приложения на веб-сервер свойство VirtualDirectory для папки веб-приложения и любых других настраиваемых веб-папок определяет, где файлы из этих папок будут установлены по отношению к корневой папке веб-сервера. Если данное свойство оставить пустым, то файлы будут установлены в корневую папку веб-сервера (inetpub\wwwroot). Дополнительные сведения см. в разделе Свойство VirtualDirectory.

Как установить веб-приложение в корневую папку веб-сервера?

По умолчанию при установке веб-приложения с помощью проекта развертывания веб-установки файлы устанавливаются в папку с тем же именем, что и у проекта развертывания, непосредственно в корневой папке веб-сервера. Свойство VirtualDirectory папки веб-приложения определяет, где устанавливаются файлы. Для установки в корневую папку веб-сервера измените значение свойства VirtualDirectory на null (удалите значение по умолчанию). Дополнительные сведения см. в разделе Свойство VirtualDirectory.

Как отключить анализ зависимостей?

К сожалению, прямого способа отключить анализ, поиск и разрешение зависимостей не существует. Однако существует обходной путь: можно снять флажок Включить стандартные пути поиска в диалоговом окне, которое появляется, если щелкнуть свойство SearchPath.

Есть несколько дополнительных обстоятельств, которые нужно учитывать:

  • Необходимо добавлять файлы с помощью команды Добавить файл (в меню Проект выберите команду Добавить, а затем щелкните пункт Файл). Если использовать добавление выходных данных проекта (в меню Проект выберите Добавить, а затем Выходные данные проекта), зависимости из проекта кода будут включены.

  • При построении могут выводиться одно или несколько предупреждений Не удалось найти зависимость, однако в данном случае их можно проигнорировать.

  • Если требуется отключить анализ зависимостей только для некоторых файлов, можно поместить эти файлы в проект модуля слияния с отключенными стандартными путями поиска. Затем с помощью диалогового окна Добавить модуль слияния включить этот модуль слияния в обычный проект установки с отключенным стандартным путем поиска (в меню Проект выберите Добавить , а затем Добавить модуль слияния).

Как отключить восстановление для файлов, которые пользователь предполагает модифицировать или удалить?

Visual Studio создает объявленные ярлыки для того, чтобы при запуске программа могла проверить наличие всех своих файлов. Для изменения этого поведения и отмены восстановления файлов выберите нужные файлы в проекте установки и измените значение свойства Condition на NOT REINSTALL, чтобы при восстановлении эти файлы не переустанавливались, а также установите для свойства Transitive значение True, чтобы условие каждый раз переоценивалось. В результате при удалении файла в первый раз установщик появится на экране на непродолжительное время, чтобы убедиться, что удаленный файл не должен быть установлен повторно.

Как отладить класс настраиваемого действия или класс установщика?

Можно использовать один из следующих методов:

  • Добавьте в код вызов System.Diagnostics.Debugger.Launch. Этот метод запускает JIT-отладку и позволяет вложить в код новый отладчик.

  • Добавьте в код вызов MessageBox.Show("Debug Me"). При появлении окна с сообщением подключитесь к процессу MessageBox с помощью Visual Studio. После чего добавьте в код точки прерывания (для проектов Visual C#) или останова (для проектов Visual Basic).

  • Настройте параметры отладки для запуска программы %windir%\Microsoft. net\Framework\версия\InstallUtil.exe в качестве внешней программы на странице отладки конструктора проектов. Имя сборки настраиваемых действий является аргументом командной строки. Точку останова можно достичь, нажав клавишу F5. Installutil.exe будет выполнять настраиваемые действия так же, как MSI.

Регистрация сборок с COM-интерфейсами не работает

Это известная ошибка RegAsm. Если сборка имеет зависимость, например, от другой библиотеки классов, RegisterCOM может не работать, поскольку RegAsm вызывается, чтобы получить информацию о регистрации. Поскольку RegAsm вызывается в папке \obj, зависимость не обнаруживается, и RegAsm завершает работу без уведомления. Чтобы обойти эту ошибку, необходимо вручную добавить сборку из каталога \bin. Как вариант можно также использовать RegisterSelfReg.

Также убедитесь, что регистрация выполняется вручную с помощью RegAsm/Codebase. Если сборка находится не в общей папке, она не будет найдена, если она находится не в том же каталоге, что вызывающий код. /Codebase вводит каталог в реестр.

Устранение ошибок установщика Windows с помощью файлов журнала

При установке программ установщик Windows записывает все производимые им операции в файл журнала. Файл журнала находится в каталоге, в котором расположен файл .msi.

Как получить файл журнала для установки?

Существуют два способа:

  • Запуск установки из командной строки с параметром, включающим ведение журнала.

    misexec /i mysetup.msi /l*v mylog.txt
    
  • Сохраните следующий текст в виде файла с расширением REG и загрузите его в реестр.

    REGEDIT4
    
    [HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\Installer]
    "Logging"="voicewarmup"
    "Debug"=dword:00000007
    

    Откройте каталог \Temp и отсортируйте файлы по дате. Самый последний файл msi*.log относится к самой последней установке или удалению.

Как выполнить установку в подкаталог ранее установленного продукта?

  1. Предположим, что ранее установленный продукт, Продукт1, установлен и включает в себя файл с именем МойФайл.txt.

  2. С помощью программы Orca.exe (из пакета SDK установщика Windows) просмотрите таблицу "File" и найдите строку, содержащую файл МойФайл.txt.

  3. Запомните значение в столбце Component_ и откройте Таблицу компонентов.

  4. В таблице компонентов найдите строку, имеющую в столбце Component значение Component_, и получите ComponentID. Скопируйте это значение в буфер обмена. Закройте программу Orca.exe.

  5. В проекте установки откройте Редактор условий запуска и добавьте Поиск компонентов установщика Windows. Свойству ComponentID нового поиска присвойте значение ComponentID из буфера обмена.

  6. Скопируйте свойство Property. Оно должно выглядеть примерно так: COMPONENTEXISTS1.

  7. Откройте Редактор файловой системы и выберите Папку приложения.

  8. Измените значение свойства DefaultLocation на значение, подобное [COMPONENTEXISTS1]MySubFolder (так как путь в COMPONENTEXISTS1 включает завершающий знак "\").

После выполнения шага 6 предыдущей процедуры в Редакторе условий запуска можно добавить условие, проверяющее, был ли найден компонент, и блокирующее установку и отображающее соответствующее сообщение, если компонент не был найден. Условие будет иметь значение COMPONENTEXISTS1 (это означает возможность запустить установщик, если COMPONENTEXISTS1 не является пустым).

Как установить настраиваемые веб-папки в порт, не установленный по умолчанию?

Чтобы установить настраиваемые веб-папки в порт, не назначенный по умолчанию, запустите установку из командной строки. Команда должна включать значения свойства Property для каждой настраиваемой веб-папки. Как правило, значение имеет примерно следующий вид: NEWWEBPROPERTY1. Кроме того, необходимо указать TARGETPORT для папки веб-приложения.

Например, если веб-сервер использует в работе порт с номером 20, командная строка должна выглядеть следующим образом:

msiexec /i mywebsetup.msi TARGETPORT=20 NEWWEBPROPERTY1PORT=20

Предыдущая команда используется только для одной веб-папки. Если имеется несколько веб-папок, добавьте дополнительные пары PROPERTY=VALUE таким же способом, чтобы перенаправить порт каждой из перечисленных папок на указанный.

Возможно, потребуется удалить диалоговое окно Адрес установки, поскольку при изменении порта в пользовательском интерфейсе во время установки настраиваемые веб-папки все равно будут использовать значения из командной строки.

Как выполнить установку в корневой каталог веб-узла?

Чтобы выполнить установку в корневой каталог веб-узла, например, c:\inetpub\wwwroot, задайте в качестве значения VirtualDirectory пустую строку либо в проекте веб-установки, либо во время установки.

Как установить ServicedComponent в глобальный кэш сборок и настроить его в каталоге COM+?

При попытке установить ServicedComponent в глобальный кэш сборок и настройке его в каталоге COM+ могут быть получены следующие сообщения об ошибках компиляции:

"Unable to build custom action named 'Primary output from RegServer (Active)' because the file's Folder property is set to Global Assembly Cache."

Установка не поддерживается, поскольку сборки в глобальном кэше сборок не всегда доступны при выполнении настраиваемых действий.

Чтобы устранить данную проблему, необходимо по возможности размещать код в разных файлах, а также размещать код настраиваемого действия в файле, который не будет помещен в глобальный кэш сборок. Однако иногда невозможно распределить код таким образом.

Как создать в ярлыке ссылку для отмены установки?

  1. В каталоге проекта установки создайте новый файл Uninstall.bat.

  2. В проекте установки скопируйте свойство ProductCode (значение вида [12345678-1234-1234-1234-123412341234]).

  3. Отредактируйте Uninstall.bat, оставив в нем одну строку, содержащую следующую команду (здесь ProductCode является значением, скопированным на шаге 2):

    Msiexec /x ProductCode

  4. Добавьте Uninstall.bat в папку приложения проекта установки.

  5. Щелкните правой кнопкой мыши на Uninstall.bat и выберите Создать ярлык, чтобы создать ярлык.

  6. Поместите ярлык в соответствующей папке меню Пуск в проекте установки.

  7. Переименуйте ярлык, например, в "Удалить <имя приложения>".

Где можно найти примеры использования установочных проектов?

Примеры использования установочных проектов см. в разделе Задачи и пошаговые руководства по развертыванию.

Как планировать развертывание приложений на базе .NET Framework?

Данное руководство содержит сведения, необходимые для планирования и реализации эффективного развертывания приложений на базе .NET Framework: Развертывание приложений на базе .NET Framework.

Где можно загрузить установщик Windows SDK?

Пакет SDK установщика Windows можно загрузить в Центре загрузки Майкрософт:

https://go.microsoft.com/fwlink/?LinkId=161393.

Где можно получить обновления и справочную информацию по Crystal Reports?

Обновленные модули программного обеспечения и модули слияния могут быть установлены со страницы "Downloads & Updates" на веб-узле BusinessObjects.com:

http://support.businessobjects.com/fix/downloads_updates.asp

Как избавиться от сообщений "Неустранимая ошибка при построении"?

Если при построении проектов установки и развертывания возникает сообщение "Неустранимая ошибка при построении", ознакомьтесь с этой статьей:

"PRB: Сообщение об ошибке "Неустранимая ошибка при построении" при построении проектов установки и развертывания" по адресу https://support.microsoft.com/?id=329214.

Как устранить сообщения об ошибках проверки?

Если получено сообщение об ошибке вида An error occurred when validating. HRESULT = '80040155', см. "PRB: Сообщение об ошибке "Неустранимая ошибка построения" при построении проекта установки или развертывания" по адресу https://support.microsoft.com/?id=329214 и следуйте инструкциям в разделе "Отсутствие регистрации".

Как изменить IIS во время развертывания с помощью настраиваемых действий

Дополнительные сведения о том, как устранить наиболее распространенные проблемы, см. в статье "Изменение IIS во время развертывания с помощью настраиваемых действий", расположенной на веб-странице https://msdn.microsoft.com/library/default.asp?url=/library/en-us/dv_vstechart/html/vbtchUsingCustomActionsToModifyInternetInformationServerDuringDeployment.asp?frame=true. К ним относятся следующие.

  • Как изменить настройки для папки IIS, недоступные для веб-папки в редакторе файловой системы

  • Способы развертывания гибридного приложения, одновременно использующего Visual Basic 6 и Visual Basic .NET или более поздние версии языка;

  • Изменения в развертывании приложений, созданных в Visual Studio .NET и более поздних версиях, по сравнению с приложениями, созданными в Visual Basic 6.

Как развертывать приложения ASP.NET?

Дополнительные сведения о развертывании приложения ASP.NET с помощью Visual Studio .NET см. в статье Развертывание приложения ASP.NET с помощью Visual Studio .NET.

После установки на Windows 2000 происходит сбой приложения с предупреждением, что требуется MDAC 2.8

Любое приложение, ссылающееся на пространство имен System.Data, зависит от компонентов доступа к данным MDAC версии 2.8 или более поздних версий. В большинстве случаев файл уже установлен как часть операционной системы. В Windows 2000 с пакетом обновления 3 (SP3) или более ранней версии, возможно, потребуется установка компонента вместе с приложением. Это можно сделать путем добавления его к пакету начального загрузчика и загрузки файла от Майкрософт во время установки. Дополнительные сведения см. в разделе Предварительные условия для развертывания приложения.

Инструкции по изменению уровня разрешений для настраиваемых действий

По умолчанию настраиваемые действия запускаются с привилегиями SYSTEM, однако для выполнения отдельных задач настраиваемому действию могут потребоваться более обширные привилегии. Чтобы изменить данное поведение по умолчанию, отключите флаг "noimpersonate" в настраиваемом действии. Дополнительные действия см. в разделе Параметры выполнения настраиваемого действия внутри скрипта.

Соответствующие статьи информационной базы данных

В следующих статьях информационной базы данных содержатся сведения по вопросам развертывания установщика Windows:

См. также

Ссылки

Свойство VirtualDirectory

Другие ресурсы

Развертывание приложений и компонентов

Задачи и пошаговые руководства по развертыванию