View Issue Details
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0004875||The Dark Mod||TDM Installer||public||27.07.2018 04:01||16.11.2019 05:21|
|Product Version||TDM 2.06|
|Target Version||TDM 2.07||Fixed in Version||TDM 2.07|
|Summary||0004875: Update and Improve VCRedist installation|
|Description||Right now tdm_update tries to install VCRedist packages automatically, without any notice to user.|
The VCRedist installer requires admin rights, so it usually shows UAC dialog asking for permissions. This UAC dialog silently closes in 2 minutes if nothing happens. Given that this dialog pops up at the very end of lengthy installation process, there is big probability that user is drinking coffee when it comes, so he does not notice it and it is not installed.
The plan is to make VCRedist installation more visible to user:
1. Separate installation code into two: detection (whether it is necessary) and installation itself.
2. Create a separate update step for VCRedist installation (which will be run only if necessary). Set PostUpdateCleanup is a wrong place =)
3. Check error code of VCRedist process after exit.
4. Show message box just before installation explaining what is going to be installed and why it needs admin rights. This makes sure that user is near computer when UAC dialog pops up.
5. Show message box with results of installation. This is especially important on fail: then we can explain that the user has to run the files himself to complete installation.
0. Update registry keys and filenames for 2.07 --- now we are using MSVC2017 instead of MSVC2013.
|Tags||No tags attached.|
Committed in svn rev 7600 (points 1, 2, 4, 5).
UPDATE: fixed bug in svn rev 7613.
Now VC redistributable installation is a separate step. When it runs, it first checks whether 32-bit and 64-bit packages should be installed (depending on OS and registry keys). If none are needed (e.g. packages are already present), then the whole step is silently skipped (although some GUI messages remain).
If it is clear that vcredist has to be installed, then a message box is shown, waiting for user confirmation. It explains that redist packages will be installed, probably requiring admin rights. After user clicks OK, the redist packages are run sequentally (each of them triggers UAC dialog, unless tdm_update was started under admin).
After installers terminate, we check once again if installing VC redist-s is still necessary --- it can be so only if installer failed. In such case we display a warning (another message box) which says that VC redist failed to install and user has to install it manually. After the check, installation process continues as usual.
On the frontend side, I have updated messages/titles/progress bar for the new step in Windows GUI installer. I did not change console updater because:
1. On Linux it will silently go through the VC redist installation step, so messages needed.
2. On Windows it will install VC redist if necessary. And in such case it will display various messages anyway. Also, console updater is rarely used on Windows, and if it is, then it cannot be run under user anyway, so vcredist should install without any issues.
P.S. Point 3 is not needed.
Point 0 (update registry keys for MSVC2017/2.07 runtime) is still TODO.
Committed new change in svn rev 7614.
Now tdm_update checks registry keys for MSVC2017. So it won't work correctly with TDM 2.06 anymore (which used MSVC2013). On the other hand, now it should work correctly for the future TDM 2.07 =)
|I resolve this issue, but we should pay close attention to VCRedist installation during 2.07 beta.|
|27.07.2018 04:01||stgatilov||New Issue|
|27.07.2018 04:01||stgatilov||Status||new => assigned|
|27.07.2018 04:01||stgatilov||Assigned To||=> stgatilov|
|28.07.2018 08:25||stgatilov||Note Added: 0010731|
|01.08.2018 02:23||stgatilov||Note Edited: 0010731|
|01.08.2018 02:43||stgatilov||Note Added: 0010736|
|01.08.2018 02:45||stgatilov||Note Added: 0010737|
|01.08.2018 02:45||stgatilov||Status||assigned => resolved|
|01.08.2018 02:45||stgatilov||Resolution||open => fixed|
|01.08.2018 02:45||stgatilov||Fixed in Version||=> TDM 2.07|
|16.11.2019 05:21||stgatilov||Relationship added||related to 0005062|
|19.05.2021 05:34||stgatilov||Category||TDM Updater => TDM Installer|