Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Программа для установки является программой командной строки, с помощью которой можно устанавливать и удалять ресурсы сервера путем выполнения компонентов установщика в соответствующих сборках. Эта программа работает совместно с классами в пространстве имен System.Configuration.Install.
Эта программа автоматически устанавливается вместе с Visual Studio. Для запуска этого средства используйте Командную строку разработчика или PowerShell для разработчиков в Visual Studio.
Введите в командной строке: .
Синтаксис
installutil [/u[ninstall]] [options] assembly [[options] assembly] ...
Параметры
| Аргумент | Description |
|---|---|
assembly |
Имя файла сборки, в которой должны выполняться компоненты установщика. Пропустите этот параметр, если указывается строгое имя сборки с помощью параметра /AssemblyName. |
Параметры
| Оператор сравнения | Description |
|---|---|
/h[elp]–или– /? |
Отображает синтаксис команд и параметров программы. |
/help
сборка–или– /?
сборка |
Отображает дополнительные параметры, распознаваемые отдельными установщиками в пределах указанной сборки, вместе с синтаксисом команд и параметров для программы InstallUtil.exe. Этот параметр добавляет текст, возвращенный каждым свойством компонента установщика Installer.HelpText, в текст справки программы InstallUtil.exe. Например, если ServiceProcessInstaller.Account имеет значение User, доступны параметры /username и /password. |
/AssemblyName "имя_сборки,Version = основная.дополнительная.сборка.редакция, Culture = языковой стандарт, PublicKeyToken = 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= (без аргумента имени файла) в командной строке.
Замечания
платформа .NET Framework приложения состоят из традиционных программных файлов и связанных ресурсов, таких как очереди сообщений, журналы событий и счетчики производительности, которые необходимо создать при развертывании приложения. Компоненты установщика сборки могут использоваться для создания таких ресурсов при установке приложения и для их удаления при удалении приложения. Программа Installutil.exe обнаруживает и выполняет эти компоненты установщика.
В командной строке можно указать сразу несколько сборок. Параметры должны указываться перед именами сборок, к установке которых они относятся. За исключением /u и /AssemblyName, параметры являются накопительными, но переопределяемыми. То есть параметры, указанные для одной сборки, применяются и ко всем последующим сборкам. Исключением являются параметры, с которыми указывается новое значение.
При запуске программы Installutil.exe для сборки без указания параметров она помещает в каталог сборки следующие три файла.
- InstallUtil.InstallLog — содержит общее описание хода выполнения установки.
- имя_сборки.InstallLog — содержит сведения, относящиеся к этапу фиксации процесса установки. Дополнительные сведения об этапе фиксации см. в описании метода Commit.
- имя_сборки.InstallState — содержит данные, используемые для удаления сборки.
Программа Installutil.exe использует отражение для проверки указанных сборок и поиска всех типов Installer, у которых значение атрибута System.ComponentModel.RunInstallerAttribute имеет значение true. Программа, выполняющая метод Installer.Install или Installer.Uninstall для каждого экземпляра типа Installer. Программа Installutil.exe выполняет установку как транзакцию, то есть если какую-либо сборку не удалось установить, отменяется установка всех остальных сборок. Удаление не считается транзакцией.
Программа Installutil.exe не может устанавливать или удалять сборки с отложенной подписью, но может устанавливать и удалять сборки со строгими именами.
32-разрядная версия среды CLR поставляется только с 32-разрядной версией средства установщика, но 64-разрядная версия среды CLR поставляется с 32-разрядными и 64-разрядными версиями средства установщика. При использовании 64-разрядной среды CLR используйте 32-разрядное средство установщика для установки 32-разрядных сборок и 64-разрядного установщика для установки 64-разрядных и общих сборок CIL. Обе версии программы установщика ведут себя одинаково.
Нельзя использовать Installutil.exe для развертывания службы Windows, созданной с помощью C++, так как Installutil.exe не распознает внедренный машинный код, созданный компилятором C++. При попытке развернуть службу Windows, написанную на языке C++, с помощью программы Installutil.exe возникает исключение, например 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