Программа установщика (Installutil.exe)

Обновлен: Ноябрь 2007

Инструмент для установки позволяет устанавливать и удалять ресурсы сервера путем выполнения компонентов установщика в соответствующей сборке Эта программа работает совместно с классами System.Configuration.Install Namespace.

installutil [/uninstall][option [...]]assemblyname ]
[option [...]]assemblyname 

Заметки

Аргумент

Описание

имя_сборки

Имя сборки, в которой должны выполняться компоненты установщика.

Параметр

Описание

/h[elp]

Отображает синтаксис команды и параметры программы.

/help путь сборки

Отображает любые дополнительные параметры, обнаруженные отдельными установщиками в указанной сборке.

/?

Отображает синтаксис команды и параметры программы.

/? путь сборки

Отображает любые дополнительные параметры, обнаруженные отдельными установщиками в указанной сборке.

/LogFile=[имя файла]

Задает имя файла журнала, в котором ведется протокол установки. Имя по умолчанию — имя сборки.InstallLog.

/AssemblyNameимя сборки

[,Version=major.minor.build.revision]

[,Culture=locale]

[,PublicKeyToken=publicKeyToken]]

Указывает имя сборки. Имя сборки должно содержать версию, язык и региональные стандарты, а также маркер открытого ключа сборки. Полное имя должно быть заключено в кавычки.

Например, "myAssembly, Culture=neutral, PublicKeyToken=0038abc9deabfle5, Version=2.0.0.0" — это полное имя сборки.

/LogToConsole={true|false}

Если значение флага равно true, вывод отображается на консоли. Если значение флага равно false (значение по умолчанию), вывод на консоль подавляется.

/ShowCallStack

Если в ходе установки возникает исключение, содержимое стека вызовов заносится в журнал.

/u[ninstall]

Удаляет сборку. В отличие от других параметров, /u применяется ко всем сборкам, независимо от того, где этот параметр стоит в командной строке.

Заметки

Начиная с версии 2.0 .NET Framework, 32-разрядная версия среды CLR поставляется только с 32-разрядной версией программы установщика, но 64-разрядная среды CLR поставляется и с 32-разрядной, и 64-разрядной версией программы установщика. При использовании 64-разрядной среды CLR, используйте 32-разрядную программу установщика для установки 32-разрядных сборок, а 64-разрядную программу установщика для установки 64-разрядных и MSIL-сборок. В остальном, обе версии программы установщика ведут себя одинаково.

Приложения Microsoft .NET Framework состоят из традиционных файлов программ и связанных ресурсов, таких как очереди сообщений, журналы событий и счетчики производительности, которые создаются после развертывания приложения. Компоненты установщика могут использоваться для создания этих ресурсов при установке приложения и для их удаления при удалении приложения. Installutil.exe обнаруживает и выполняет эти компоненты установщика.

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

При запуске Installutil.exe для сборки без указания параметров программа помещает в каталог сборки следующие три файла:

  • InstallUtil.InstallLog

    Содержит общее описание процесса установки.

  • имя_сборки.InstallLog

    Содержит сведения, относящиеся к фазе завершения процесса установки. Дополнительные сведения о фазе завершения см. в разделе Installer.Commit Method.

  • имя_сборки.InstallState

    Содержит данные, используемые при удалении сборки.

Installutil.exe использует отражение для проверки указанной сборки и поиска всех типов Installer при параметре RunInstallerAttribute установленном на значение true. После этого программа выполняет либо Install Method или Uninstall Method каждого экземпляра типа Installer type. Installutil.exe выполняет установку как транзакцию, т. е. если какую-либо сборку не удалось установить, отменяется установка всех остальных сборок. Удаление не считается транзакцией.

Installutil.exe не может устанавливать или удалять сборки с отложенной подписью, но может устанавливать и удалять сборки со строгими именами.

Обратите внимание, что нельзя использовать Installutil.exe для развертывания служб Windows, созданных с помощью C++. Installutil.exe не может распознать внедренный машинный код, созданный компилятором C++. При попытке развернуть при помощи Installutil.exe службу Windows, созданную с помощью C++, возникает исключение, например BadImageFormatException. В этом случае перенесите код службы в модуль C++. После этого напишите объект установщика на C# или Visual Basic.

Примеры

Следующая команда выводит описание синтаксиса и параметров команды.

installutil

Следующая команда выполняет компоненты установщика в сборке myAssembly.exe.

installutil myAssembly.exe

Следующая команда выполняет компоненты установщика в сборке с помощью переключателя /AssemblyName и полного имени.

installutil /AssemblyName "myAssembly, Culture=neutral, PublicKeyToken=0038abc9deabfle5, Version=2.0.0.0"

Следующая команда выполняет компоненты удаления в сборке myAssembly.exe.

installutil /u myAssembly.exe 

Следующая команда выполняет компоненты установщика в сборке myAssembly.exe и указывает, что сведения о ходе установки должны записываться в файл myLog.InstallLog.

installutil /LogFile=myLog.InstallLog myAssembly.exe 

Следующая команда записывает сведения о процессе установки для сборки myAssembly.exe в журнал myLog.InstallLog, а сведения для сборки myTestAssembly.exe в журнал myTestLog.InstallLog.

installutil /LogFile=myLog.InstallLog myAssembly.exe /LogFile = myTestLog.InstallLog myTestAssembly.exe

См. также

Ссылки

Инструменты .NET Framework

System.Configuration.Install

Командная строка пакета SDK