mirror of
https://github.com/python/cpython.git
synced 2024-12-12 19:33:52 +08:00
Issue #25071: Windows installer should not require TargetDir parameter when installing quietly
This commit is contained in:
commit
a004c54f94
16
Misc/NEWS
16
Misc/NEWS
@ -189,6 +189,22 @@ Build
|
||||
when external libraries are not available.
|
||||
|
||||
|
||||
Windows
|
||||
-------
|
||||
|
||||
- Issue #25022: Removed very outdated PC/example_nt/ directory.
|
||||
|
||||
What's New in Python 3.5.0 final?
|
||||
=================================
|
||||
|
||||
Release date: 2015-09-13
|
||||
|
||||
Build
|
||||
-----
|
||||
|
||||
- Issue #25071: Windows installer should not require TargetDir
|
||||
parameter when installing quietly
|
||||
|
||||
What's New in Python 3.5.0 release candidate 4?
|
||||
===============================================
|
||||
|
||||
|
@ -723,6 +723,36 @@ public: // IBootstrapperApplication
|
||||
hrStatus = EvaluateConditions();
|
||||
}
|
||||
|
||||
if (SUCCEEDED(hrStatus)) {
|
||||
// Ensure the default path has been set
|
||||
LONGLONG installAll;
|
||||
LPWSTR targetDir = nullptr;
|
||||
LPWSTR defaultTargetDir = nullptr;
|
||||
|
||||
hrStatus = BalGetStringVariable(L"TargetDir", &targetDir);
|
||||
if (FAILED(hrStatus) || !targetDir || !targetDir[0]) {
|
||||
ReleaseStr(targetDir);
|
||||
targetDir = nullptr;
|
||||
|
||||
if (FAILED(BalGetNumericVariable(L"InstallAllUsers", &installAll))) {
|
||||
installAll = 0;
|
||||
}
|
||||
|
||||
hrStatus = BalGetStringVariable(
|
||||
installAll ? L"DefaultAllUsersTargetDir" : L"DefaultJustForMeTargetDir",
|
||||
&defaultTargetDir
|
||||
);
|
||||
|
||||
if (SUCCEEDED(hrStatus) && defaultTargetDir) {
|
||||
if (defaultTargetDir[0] && SUCCEEDED(BalFormatString(defaultTargetDir, &targetDir))) {
|
||||
hrStatus = _engine->SetVariableString(L"TargetDir", targetDir);
|
||||
ReleaseStr(targetDir);
|
||||
}
|
||||
ReleaseStr(defaultTargetDir);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
SetState(PYBA_STATE_DETECTED, hrStatus);
|
||||
|
||||
// If we're not interacting with the user or we're doing a layout or we're just after a force restart
|
||||
|
Loading…
Reference in New Issue
Block a user