diff options
Diffstat (limited to 'plugins/PluginUpdater/src/DlgUpdate.cpp')
-rw-r--r-- | plugins/PluginUpdater/src/DlgUpdate.cpp | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/plugins/PluginUpdater/src/DlgUpdate.cpp b/plugins/PluginUpdater/src/DlgUpdate.cpp index a558caa03c..18b223de8e 100644 --- a/plugins/PluginUpdater/src/DlgUpdate.cpp +++ b/plugins/PluginUpdater/src/DlgUpdate.cpp @@ -57,9 +57,12 @@ static void ApplyUpdates(void *param) AutoHandle pipe(hPipe);
HWND hwndList = GetDlgItem(hDlg, IDC_LIST_UPDATES);
- TCHAR tszFileBack[MAX_PATH];
+ //create needed folders after escalating priviledges. Folders creates when we actually install updates
+ TCHAR tszFileTemp[MAX_PATH], tszFileBack[MAX_PATH];
mir_sntprintf(tszFileBack, SIZEOF(tszFileBack), _T("%s\\Backups"), tszRoot);
SafeCreateDirectory(tszFileBack);
+ mir_sntprintf(tszFileTemp, SIZEOF(tszFileTemp), _T("%s\\Temp"), tszRoot);
+ SafeCreateDirectory(tszFileTemp);
// 2) Download all plugins
HANDLE nlc = NULL;
@@ -358,11 +361,15 @@ static void DlgUpdateSilent(void *lParam) }
AutoHandle pipe(hPipe);
- TCHAR tszFileBack[MAX_PATH];
+ //create needed folders after escalating priviledges. Folders creates when we actually install updates
+ TCHAR tszFileTemp[MAX_PATH], tszFileBack[MAX_PATH];
mir_sntprintf(tszFileBack, SIZEOF(tszFileBack), _T("%s\\Backups"), tszRoot);
SafeCreateDirectory(tszFileBack);
+ mir_sntprintf(tszFileTemp, SIZEOF(tszFileTemp), _T("%s\\Temp"), tszRoot);
+ SafeCreateDirectory(tszFileTemp);
+
// 2) Download all plugins
HANDLE nlc = NULL;
// Count all updates that have been enabled
@@ -585,10 +592,6 @@ static int ScanFolder(const TCHAR *tszFolder, size_t cbBaseLen, int level, const Netlib_LogfT(hNetlibUser,_T("Scanning folder %s"), tszFolder);
- TCHAR tszFileTemp[MAX_PATH];
- mir_sntprintf(tszFileTemp, SIZEOF(tszFileTemp), _T("%s\\Temp"), tszRoot);
- SafeCreateDirectory(tszFileTemp);
-
int count = 0;
do {
if (ffd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) {
|