Installer: old to new update #9 - upd: directory search priority: previous installation directory, regular directories, program files.
This commit is contained in:
parent
4526a6b8d9
commit
276a106dc9
1 changed files with 14 additions and 11 deletions
|
@ -126,17 +126,10 @@ namespace WebsitePanel.WIXInstaller
|
||||||
};
|
};
|
||||||
Func<IEnumerable<string>, string> FindMainConfig = (IEnumerable<string> Dirs) =>
|
Func<IEnumerable<string>, string> FindMainConfig = (IEnumerable<string> Dirs) =>
|
||||||
{
|
{
|
||||||
// Looking into platform specific Program Files.
|
// Looking into directories with next priority:
|
||||||
{
|
// Previous installation directory and her backup, "WebsitePanel" directories on fixed drives and their backups.
|
||||||
var InstallerMainCfg = "WebsitePanel.Installer.exe.config";
|
// The last chance is an update from an installation based on previous installer version that installed to "Program Files".
|
||||||
var InstallerName = "WebsitePanel Installer";
|
// Regular directories.
|
||||||
var PFolderType = Environment.Is64BitOperatingSystem ? Environment.SpecialFolder.ProgramFilesX86 : Environment.SpecialFolder.ProgramFiles;
|
|
||||||
var PFiles = Environment.GetFolderPath(PFolderType);
|
|
||||||
var Result = Path.Combine(PFiles, InstallerName, InstallerMainCfg);
|
|
||||||
if (HaveInstalledComponents(Result))
|
|
||||||
return Result;
|
|
||||||
}
|
|
||||||
// Looking into specific directories.
|
|
||||||
foreach (var Dir in Dirs)
|
foreach (var Dir in Dirs)
|
||||||
{
|
{
|
||||||
var Result = Path.Combine(Dir, BackupRestore.MainConfig);
|
var Result = Path.Combine(Dir, BackupRestore.MainConfig);
|
||||||
|
@ -155,6 +148,16 @@ namespace WebsitePanel.WIXInstaller
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// Looking into platform specific Program Files.
|
||||||
|
{
|
||||||
|
var InstallerMainCfg = "WebsitePanel.Installer.exe.config";
|
||||||
|
var InstallerName = "WebsitePanel Installer";
|
||||||
|
var PFolderType = Environment.Is64BitOperatingSystem ? Environment.SpecialFolder.ProgramFilesX86 : Environment.SpecialFolder.ProgramFiles;
|
||||||
|
var PFiles = Environment.GetFolderPath(PFolderType);
|
||||||
|
var Result = Path.Combine(PFiles, InstallerName, InstallerMainCfg);
|
||||||
|
if (HaveInstalledComponents(Result))
|
||||||
|
return Result;
|
||||||
|
}
|
||||||
return null;
|
return null;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue