visual studio — программная установка без вывода сообщений с помощью переполнения стека

У меня есть установщик приложения, скажем app_installer.exe. Я могу установить его в моей системе cmd с помощью app_installer.exe /S, Теперь мне нужно сделать то же самое из службы Windows, и я создал приложение службы для этого в MSVS 2013, Я пытался с помощьюCreateProcess() следующим образом:

if (CreateProcess(NULL,"E:\\app_installer.exe \S",NULL,NULL,FALSE,0,NULL,NULL,&StartupInfo, &ProcessInfo))
{
myfile << "Wait for object...\n";
WaitForSingleObject(ProcessInfo.hProcess, INFINITE);
CloseHandle(ProcessInfo.hThread);
CloseHandle(ProcessInfo.hProcess);
myfile << "Handles closed\n";

}
else
{
myfile << "The process could not be started...\n";
myfile << GetLastError();
}

Хоть CreateProcess(Я также попытался / SD, / silent, / q, / qn вместо / S) вернул ненулевое значение, мое приложение не было установлено.
Затем я добавил следующую строку в мой код:

system("E:\\app_installer.exe \S \norestart);

При добавлении этой строки, после запуска service, он спросил меня, нужно ли view the message от службы, и когда я нажал на View message, мастер установки пришел .. Однако не молчит …

Это проблема с параметрами, которые я передал? Как можно выполнить тихую установку в C ++?

0

Решение

Задача ещё не решена.

Другие решения


По вопросам рекламы [email protected]