Benna Olivier Ответов: 2

Жар-птица Тихая установка


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

Что я уже пробовал:

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

2 Ответов

Рейтинг:
2

Mehdi Gholam

Попробуй :

private const string Arguments = "/VERYSILENT /SUPPRESSMSGBOXES";
Редактировать:
Читать это : Есть ли способ сделать тихую установку Firebird?[^]


Benna Olivier

Не повезло

Mehdi Gholam

Попробуйте воспользоваться предоставленной ссылкой.

Рейтинг:
14

0x01AA

Для начала взгляните сюда: командная строка - пользовательская установка Firebird - переполнение стека[^]

Похоже, вам не хватает параметра командной строки /COMPONENTS="список имен компонентов, разделенных запятыми"

Например, для полной установки: /COMPONENTS="ServerComponent\SuperServerComponent,ServerComponent,DevAdminComponent,ClientComponent"

Я надеюсь, что это поможет


[Редактировать]
Для установки в определенный каталог можно использовать параметр командной строки DIR
Например: Firebird-3.0.4.33054_0_Win32.exe /DIR="c:\Temp\FB"

Записи:
1.) после обычной установки вы найдете два документа
"C:\Program файлы (x86)\Firebird\Firebird_3_0\doc\installation_scripted.txt"
"C:\Program файлы (x86)\Firebird\Firebird_3_0\doc\installation_readme.txt"
Особенно installation_scripted.txt содержит полезную информацию

2.) Если вы начинаете Firebird-3.0.4.33054_0_Win32.exe /? будут показаны стандартные параметры командной строки "ino setup".


Benna Olivier

Это работает для автоматической установки, однако мне нужно установить его и указать другой каталог из каталога по умолчанию, а также я должен выбрать классический вариант сервера при установке

0x01AA

Пожалуйста, смотрите [Edit] в обновленном ответе

Benna Olivier

В каком операторе я смогу указать каталог, который будет использоваться для установки firebird

/Реж="c:\Temp\FB"

0x01AA

В качестве параметра командной строки для fb setup.exe где у вас есть olaso переключатель /SILENT и т. д.

Firebird-2.5x64.exe /реж= "c:\temp\fb"

Benna Olivier

Аргументы, которые я передаю, следующие, однако он не устанавливается в указанный каталог, а также перезапускается после установки Firebird

"/VERYSILENT /SUPPRESSMSGBOXES / DIR @c:\program файлы\firebird\ / NORESTART ServerComponent\ClassicServerComponent, ServerComponent,ClientComponent"

0x01AA

пробовать:
"/VERYSILENT /SUPPRESSMSGBOXES / DIR="c:\program файлы\firebird\" / NORESTART ServerComponent\ClassicServerComponent, ServerComponent,ClientComponent"

Benna Olivier

Не повезло с этим, все равно устанавливается в каталог по умолчанию

0x01AA

Я протестировал его с помощью windows cmd, и он работал идеально, может быть, вам стоит попробовать его также сначала в cmd, прежде чем тестировать с вашим приложением c#. Вы уверены, что ваша строка аргументов верна? Я имею в виду кавычки, необходимые для пути, и обратные косые черты в пути?


Кстати: я тестировал с более или менее последней версией fb: Firebird-2.5.8.27089_0_x64.exe

Benna Olivier

Я попробовал оба из приведенных ниже в CMD

"/VERYSILENT /SUPPRESSMSGBOXES / DIR @c:\program файлы\firebird\ / NORESTART ServerComponent\ClassicServerComponent, ServerComponent,ClientComponent"

"/VERYSILENT /SUPPRESSMSGBOXES / DIR="c:\program файлы\firebird\" / NORESTART ServerComponent\ClassicServerComponent, ServerComponent,ClientComponent"

Ничто из вышеперечисленного не работает в CMD, однако через мое приложение я действительно получаю тихую установку, однако она не устанавливается в указанный каталог

Через CMD они оба открывают окна установщика, чего я не хочу

0x01AA

Это ваш Firebird-2.5x64.exe с 2010 года? Вы пробовали также последнюю версию?
На какой операционной системе вы проводите свои испытания?

0x01AA

Просто проверил его с Firebird-2.5.0.26074_1_x64 с 2010 года на виртуальной машине Win7, и он работает... Убедитесь, что между буквой "/" и параметром нет пробелов.

0x01AA

И, наконец, я попробовал это с консольным приложением c#, которое также отлично работало:

using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Text;
using System.Threading.Tasks;


namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
string installerFilePath = @"C:\Temp\Firebird-2.5.0.26074_1_x64.exe";
string arguments = "/VERYSILENT /SUPPRESSMSGBOXES /DIR=\"c:\\program files\\MyTestFirebird\" /NORESTART ServerComponent\\ClassicServerComponent, ServerComponent,ClientComponent";

ProcessStartInfo psi = new ProcessStartInfo(installerFilePath, arguments);
psi.CreateNoWindow = true;

Process installerProcess = Process.Start(psi);

while (installerProcess.HasExited == false)
{
//indicate progress to user
Console.Write(".");
System.Threading.Thread.Sleep(250);
}
Console.WriteLine("Intsallation done");
}
}
}

0x01AA

Будьте внимательны! Моя строка аргументов выше была неправильной, но она работала. Правильный аргумент должен быть больше похож на этот string arguments = "/VERYSILENT /SUPPRESSMSGBOXES /DIR=\"c:\\program files\\MyTestFirebird\" /NORESTART /COMPONENTS=\"ServerComponent\\ClassicServerComponent, ServerComponent,ClientComponent\"";