Installutil.exe (инструмент для установки)
Инструмент для установки — это программа командной строки, которая позволяет устанавливать и удалять ресурсы сервера путем выполнения компонентов установщика в соответствующих сборках. Этот инструмент работает в сочетании с классами из пространства имен System.Configuration.Install.
Это средство устанавливается автоматически с Visual Studio и пакетом SDK Windows. Чтобы запустить инструмент, мы рекомендуем использовать командную строку Visual Studio или командную строку пакета Windows SDK (командную оболочку). Эти служебные программы позволяют легко работать с инструментом, не переходя к папке установки. Дополнительные сведения см. в разделе Командная строка Visual Studio и пакета Windows SDK.
Если на компьютере установлена среда Visual Studio: на панели задач последовательно щелкните Start, All Programs, Visual Studio, Visual Studio Tools и Visual Studio Command Prompt.
– или –
Если на компьютере установлен пакет Windows SDK: на панели задач щелкните Start, выберите All Programs и откройте папку с пакетом Windows SDK, затем щелкните Command Prompt (или CMD Shell).
В командной строке введите следующее:
installutil [/u[ninstall]] [options] assembly [[options] assembly] ...
Параметры
Аргумент |
Описание |
---|---|
assembly |
Имя файла сборки, в которой должны выполняться компоненты установщика. Пропустите Этот параметр, если вы хотите указать строгое имя сборки, используя параметр /AssemblyName. |
Параметры
Параметр |
Описание |
---|---|
/h[elp] – или – /? |
Отображает синтаксис команд и параметры программы. |
/help сборка – или – /? сборка |
Отображает дополнительные параметры, распознаваемые отдельными установщиками в пределах указанной сборки, вместе с синтаксисом команд и параметров для InstallUtil.exe. Этот параметр добавляет текст, возвращенный каждым свойством компонента установщика Installer.HelpText, в текст справки InstallUtil.exe. |
/AssemblyName "имя_сборки ,Version=основной_номер_версии.дополнительный_номер_версии.построение.редакция ,Culture=языковой стандарт ,PublicKeyToken=токен_открытого_ключа" |
Задает строгое имя сборки, которое нужно зарегистрировать в глобальном кэше сборок. Имя сборки должно содержать версию, язык и региональные стандарты, а также маркер открытого ключа сборки. Полное имя должно быть заключено в кавычки. Например, "myAssembly, Culture=neutral, PublicKeyToken=0038abc9deabfle5, Version=4.0.0.0" — это полное имя сборки. |
/InstallStateDir=[имя_каталога] |
Определяет каталог файла .InstallState , содержащий данные, используемые для удаления сборки. По умолчанию используется каталог, содержащий сборку. |
/LogFile=[имя_файла] |
Задает имя файла журнала, в котором ведется протокол установки. По умолчанию, если параметр /LogFile опущен, создается файл журнала с именем имя_сборки.InstallLog. Если имя_файла пропущено, файл журнала не создается. |
/LogToConsole={true|false} |
Если значение — true, выходные данные отображаются на консоли. Если значение флага равно false (значение по умолчанию), вывод на консоль подавляется. |
/ShowCallStack |
Если в ходе установки возникает исключение, содержимое стека вызовов заносится в файл журнала. |
/u[ninstall] |
Удаляет заданные сборки. В отличие от других параметров, /u применяется ко всем сборкам, независимо от того, где этот параметр стоит в командной строке. |
Дополнительные параметры установщика
Отдельные установщики, используемые в сборке, кроме перечисленных в разделе Параметры параметров могут распознавать и другие параметры. Чтобы узнать об этих параметрах, запустите InstallUtil.exe с путями к сборкам в командной строке, а также параметром /? или /help. Чтобы задать эти параметры, необходимо включить их в командную строку вместе с параметрами, распознаваемыми InstallUtil.exe.
Примечание |
---|
Текст справки о параметрах, поддерживаемых отдельными компонентами установщика, возвращается свойством Installer.HelpText.Отдельные варианты, которые были введены в командной строке, доступны программно из свойства Installer.Context. |
Все параметры командной строки записываются в файл журнала установки. Однако если используется параметр /Password, распознаваемый некоторыми компонентами установщика, сведения о пароле будут заменены восемью звездочками (*) и не будут отображаться в файле журнала.
Важно |
---|
В некоторых случаях передаваемые в установщик параметры могут содержать конфиденциальные или личные сведения, которые по умолчанию записываются в обычный текстовый файл журнала.Для предотвращения этого поведения можно запретить ведение журнала, указав /LogFile= (без аргумента имя_файла) после Installutil.exe в командной строке. |
Заметки
Приложения .NET Framework состоят из традиционных файлов программ и связанных ресурсов, таких как очереди сообщений, журналы событий и счетчики производительности, которые создаются после развертывания приложения. Компоненты установщика могут использоваться для создания этих ресурсов при установке приложения и для их удаления при удалении приложения. Installutil.exe обнаруживает и выполняет эти компоненты установщика.
В командной строке можно указать сразу несколько сборок. Параметры должны указываться перед именами сборок, к установке которых они относятся. За исключением /u и /AssemblyName, параметры являются накопительными, но переопределяемыми. То есть параметры, указанные для одной сборки, применяются и ко всем последующим сборкам. Исключением являются параметры, с которыми указывается новое значение.
При запуске Installutil.exe для сборки без указания параметров программа помещает в каталог сборки следующие три файла:
InstallUtil.InstallLog — содержит общее описание протокола установки.
Имя_сборки.InstallLog. Содержит сведения, относящиеся к фазе завершения процесса установки. Дополнительные сведения об этапе фиксации см. в описании метода Commit.
assemblyname.InstallState — содержит данные, используемые для удаления установленной сборки.
Installutil.exe использует отражение для проверки указанных сборок и поиска всех типов Installer, у которых значение атрибута System.ComponentModel.RunInstallerAttribute — true. Средство, выполняющее метод Installer.Install или Installer.Uninstall для каждого экземпляра типа Installer. Installutil.exe выполняет установку как транзакцию, т. е. если какую-либо сборку не удалось установить, отменяется установка всех остальных сборок. Удаление не считается транзакцией.
Installutil.exe не может устанавливать или удалять сборки с отложенной подписью, но может устанавливать и удалять сборки со строгими именами.
Начиная с версии 2.0 .NET Framework, 32-разрядная версия среды CLR поставляется только с 32-разрядной версией программы установщика, но 64-разрядная среды CLR поставляется и с 32-разрядной, и 64-разрядной версией программы установщика. При использовании 64-разрядной среды CLR, используйте 32-разрядную программу установщика для установки 32-разрядных сборок, а 64-разрядную программу установщика для установки 64-разрядных и MSIL-сборок. Обе версии программы установщика ведут себя одинаково.
Невозможно использовать Installutil.exe для развертывания службы Windows, созданной с помощью C++, потому что Installutil.exe не может распознать встроенный машинный код, созданный компилятором C++. При попытке развернуть при помощи Installutil.exe службу Windows, созданную с помощью C++, возникает исключение, например BadImageFormatException. Для работы с этим сценарием перенесите код службы в модуль C++ и запишите объект установщика в C# или Visual Basic.
Примеры
Следующая команда выводит описание синтаксиса и параметров команды для InstallUtil.exe.
installutil /?
Следующая команда выводит описание синтаксиса и параметров команды для InstallUtil.exe. Она также отображает в myAssembly.exe описание и список параметров, поддерживаемых компонентами установщика, если свойству Installer.HelpText установщика было задано значение текста справки.
installutil /? myAssembly.exe
Следующая команда выполняет компоненты установщика в сборке myAssembly.exe.
installutil myAssembly.exe
Следующая команда выполняет компоненты установщика в сборке с помощью переключателя /AssemblyName и полного имени.
installutil /AssemblyName "myAssembly, Culture=neutral, PublicKeyToken=0038abc9deabfle5, Version=4.0.0.0"
Следующая команда выполняет компоненты установщика в сборке, заданной по имени файла и в сборке, заданной по строгому имя. Обратите внимание, что все сборки, указанные по имени файла, должны предшествовать сборкам, указанным по строгому имени в командной строке, потому что параметр /AssemblyName не может быть переопределен.
installutil myAssembly.exe /AssemblyName "myAssembly, Culture=neutral, PublicKeyToken=0038abc9deabfle5, Version=4.0.0.0"
Следующая команда выполняет компоненты удаления в сборке myAssembly.exe.
installutil /u myAssembly.exe
Следующая команда выполняет компоненты установщика в сборках myAssembly1.exe и myAssembly2.exe.
installutil myAssembly1.exe /u myAssembly2.exe
Поскольку позиция параметра /u в командной строке не имеет значения, это эквивалентно следующей команде.
installutil /u myAssembly1.exe myAssembly2.exe
Следующая команда выполняет компоненты установщика в сборке myAssembly.exe и указывает, что сведения о ходе установки должны записываться в файл myLog.InstallLog.
installutil /LogFile=myLog.InstallLog myAssembly.exe
Следующая команда выполняет установщиков в сборке myAssembly.exe, указывает, что сведения о ходе выполнения должны быть написаны в myLog.InstallLogи использует пользовательский параметр установщика /reg для указания, что обновления должны производиться в реестре системы.
installutil /LogFile=myLog.InstallLog /reg=true myAssembly.exe
Следующая команда выполняет установщиков в сборке myAssembly.exe, использует пользовательский параметр установщика /email для указания адреса электронной почты пользователя и подавляет вывод в файл журнала.
installutil /LogFile= /email=admin@mycompany.com myAssembly.exe
Следующая команда записывает сведения о процессе установки для сборки myAssembly.exe в журнал myLog.InstallLog, а сведения для сборки myTestAssembly.exe в журнал myTestLog.InstallLog.
installutil /LogFile=myLog.InstallLog myAssembly.exe /LogFile=myTestLog.InstallLog myTestAssembly.exe
См. также
Ссылки
Командная строка Visual Studio и пакета Windows SDK
Другие ресурсы
Журнал изменений
Дата |
Журнал |
Причина |
---|---|---|
Апрель 2011 |
Добавлены сведения об использовании командных строк Visual Studio и Windows SDK. |
Улучшение информации. |