mirror of
https://github.com/ONLYOFFICE/desktop-apps.git
synced 2026-02-10 18:05:16 +08:00
[win] updatesvc: debug msi package launch
This commit is contained in:
@ -906,13 +906,20 @@ void CSvcManager::startInstallPackage(const tstring &advArgs)
|
||||
NS_Logger::WriteLog(_TR("Update cancelled. The file signature is missing:") + _T(" ") + m_packageData->fileName, true);
|
||||
return;
|
||||
}
|
||||
tstring args = m_packageData->packageArgs;
|
||||
tstring args;
|
||||
if (m_packageData->fileType == _T("msi")) {
|
||||
args = _T("/i \"") + NS_File::toNativeSeparators(m_packageData->fileName) + _T("\"");
|
||||
if (!m_packageData->packageArgs.empty())
|
||||
args += _T(" ") + m_packageData->packageArgs;
|
||||
} else {
|
||||
args = m_packageData->packageArgs;
|
||||
}
|
||||
if (!advArgs.empty()) {
|
||||
if (!args.empty())
|
||||
args += _T(" ");
|
||||
args += advArgs;
|
||||
}
|
||||
if (!NS_File::runProcess(m_packageData->fileName, args))
|
||||
if (!NS_File::runProcess(m_packageData->fileType == _T("msi") ? _T("msiexec.exe") : m_packageData->fileName, args))
|
||||
NS_Logger::WriteLog(_TR("An error occurred while start install updates!"), true);
|
||||
}
|
||||
#endif
|
||||
|
||||
@ -301,7 +301,7 @@ namespace NS_File
|
||||
si.cb = sizeof(STARTUPINFO);
|
||||
PROCESS_INFORMATION pi;
|
||||
ZeroMemory(&pi, sizeof(pi));
|
||||
if (CreateProcess(fileName.c_str(), &_args[0],
|
||||
if (CreateProcess(NULL, &_args[0],
|
||||
NULL, NULL, FALSE, CREATE_UNICODE_ENVIRONMENT,
|
||||
NULL, NULL, &si, &pi))
|
||||
{
|
||||
@ -340,7 +340,7 @@ namespace NS_File
|
||||
si.cb = sizeof(STARTUPINFO);
|
||||
si.lpDesktop = const_cast<LPWSTR>(L"Winsta0\\Default");
|
||||
PROCESS_INFORMATION pi;
|
||||
if (CreateProcessAsUser(hTokenDup, fileName.c_str(),
|
||||
if (CreateProcessAsUser(hTokenDup, NULL,
|
||||
&_args[0],
|
||||
NULL, NULL, FALSE,
|
||||
CREATE_UNICODE_ENVIRONMENT,
|
||||
|
||||
Reference in New Issue
Block a user