Index: src/engine/Updater.cpp |
=================================================================== |
--- a/src/engine/Updater.cpp |
+++ b/src/engine/Updater.cpp |
@@ -115,17 +115,17 @@ void Updater::Update() |
dict->Lookup("updater", "download-error-title").c_str(), |
0); |
} |
if (result != IDOK) |
return; |
} |
{ |
- UINT result = ::MsiInstallProductW(tempFile.c_str(), L"ACTION=INSTALL INSTALLUILEVEL=2"); |
+ UINT result = ::MsiInstallProductW(tempFile.c_str(), L"ACTION=INSTALL INSTALLUILEVEL=2 REINSTALL=ALL REINSTALLMODE=vomus MSIENFORCEUPGRADECOMPONENTRULES=1"); |
Eric
2013/06/11 15:41:46
We can't always use minor upgrades for all upgrade
Wladimir Palant
2013/06/12 09:46:34
Yes, most of them I hope.
Eric
2013/06/12 14:33:24
I'm going to open a Discourse thread on this topic
|
if (result != ERROR_SUCCESS) |
{ |
Dictionary* dict = Dictionary::GetInstance(); |
std::wstringstream message; |
message << dict->Lookup("updater", "download-error-runerror"); |
message << std::endl << L"(error " << result << L")"; |
MessageBoxW(NULL, |
message.str().c_str(), |