Pradeep Kumar G M Ответов: 3

Бесшумная установка в C#, .Net.


Я пытаюсь установить приложение из своего кода C#. У меня есть exe-файл, и я хочу установить его молча, не зная об этом пользователю. Нажав кнопку 'Следующий', 'закончить кнопки должны быть обработаны внутри.
Я пытался использовать класс Process, я мог бы запустить exe-файл, но не знаю, как сделать его бесшумным.

Может ли кто-нибудь помочь мне?

dattaprasaddhuri

Я пробую этот код, но мне нужно запустить visual studio в режиме администратора, тогда устанавливается только файл, иначе нет.
Можете ли вы сказать мне, как установить, когда visual studio работает в обычном режиме

3 Ответов

Рейтинг:
24

Sandeep Mewara

Для msi на базе VS он может быть установлен молча, передавая правильные параметры командной строки.
Основанный на MSDN: стандартные параметры командной строки установщика[^], /passive будут делать это.


Вы также можете посмотреть на, MSDN: развертывание ClickOnce для приложений Windows Forms[^] это позволяет самообновляющимся приложениям на базе Windows, которые могут быть установлены и запущены с минимальным взаимодействием с пользователем.


Обновление: только что видел точно такой же вопрос, заданный полтора года назад: автоматическая установка exe-файла с помощью c#.net[^]


Рейтинг:
2

Benna Olivier

Hi please assist as I cannot get the silent installation to work

<pre lang="c#">try
            {
                string installerFilePath = @"C:\BennaOlivier\Randoms\Delter\Firebird\FirebirdMainInstaller\MainInstaller\MainInstaller\Firebird X64\FirebirdInstallX64\Firebird-2.5x64.exe";
                Process installerProcess = new Process();
                installerProcess.StartInfo.CreateNoWindow = true;
                installerProcess.StartInfo.RedirectStandardOutput = true;
                installerProcess = Process.Start(installerFilePath, Arguments);

                while (installerProcess.HasExited == false)
                {
                    //indicate progress to user 
                    Application.DoEvents();
                    System.Threading.Thread.Sleep(250);
                }

            }


Мои аргументы, которые я передаю, заключаются в следующем

private const string Arguments = " /SILENT | /VERYSILENT [/SUPPRESSMSGBOXES]";


Однако при выполнении установки я все равно получаю окно и окно create no по умолчанию имеет значение false


CHill60

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

Рейтинг:
0

Denno.Secqtinstien

если вы используете MSI файлы, то попробуйте

C# код для установки MSI молча и знать, когда это будет сделано

Если вы хотите установить приложение, упакованное в файл .MSI, и хотите знать, когда приложение завершит установку, используйте этот код:

string installerFilePath; 
installerFilePath = "C:\\Program Files\\CCS\\Downloads\\CCSRPTSetup.msi"; System.Diagnostics.Process installerProcess; 
installerProcess = System.Diagnostics.Process.Start(installerFilePath, "/q"); 
while (installerProcess.HasExited==false) 
{ 
//indicate progress to user 
Application.DoEvents(); 
System.Threading.Thread.Sleep(250); 
} 
MessageBox.Show("done installing");