Запуск установщика из C # - PullRequest
1 голос
/ 28 июля 2011

Мне нужно написать код для загрузки и запуска программы, например, notepad ++ (npp.5.9.3.Installer.exe), это можно найти в Интернете.Я запускаю его с помощью класса ProcessStartInfo.Однако, когда я обычно запускаю установщик notepad ++, перед фактической установкой он покажет мне несколько шагов, таких как выбор языка, путь и т. Д.

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

        private int RunFile()
        {
            ProcessStartInfo psi = new ProcessStartInfo(GetFileFullPath());
            psi.WindowStyle = ProcessWindowStyle.Hidden;
            psi.CreateNoWindow = true;

            using (Process process = Process.Start(psi))
            {
                process.WaitForExit();
                if (process.HasExited)
                    return process.ExitCode;
            }
        }

Должен ли я передать некоторые аргументы для того, чтобы это работало?Заранее спасибо.

С уважением,

Ответы [ 5 ]

4 голосов
/ 28 июля 2011

Используйте npp.5.9.3.Installer.exe /S для автоматической установки notepad ++ и %ProgramFiles%\Notepad++\uninstall.exe /S для удаления.

2 голосов
/ 28 июля 2011

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

1 голос
/ 28 июля 2011

Это будет зависеть ТОЛЬКО от установщика ( npp.5.9.3.Installer.exe ).Необходимо выполнить поиск, если установщик предоставляет параметры, которые можно использовать в командной строке, например silentinstall.

РЕДАКТИРОВАТЬ: вы можете использовать параметр / S (заглавная S) для Notepad ++ для выполнения без вывода сообщенийустановка.

1 голос
/ 28 июля 2011

Хорошо написанный установщик имеет опции для автоматической установки без пользовательского интерфейса. Если установщик - это MSI-файл, то есть опции , которые можно передать в msiexec для автоматической установки.

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

1 голос
/ 28 июля 2011

Вы должны управлять установкой, подражая пользователю.Можно отправить вид команды (сообщения) в другое окно из приложения C #

, посмотрите ниже

http://social.msdn.microsoft.com/forums/en-US/winforms/thread/345d85e8-cc5f-4508-b3f2-74ee43521169/

Взаимодействиедругие desktop-приложения в windows, использующие C # winforms

...