Classic Shell http://www.classicshell.net/forum/ |
|
Post Windows 10 AU Upgrade http://www.classicshell.net/forum/viewtopic.php?f=7&t=6909 |
Page 1 of 1 |
Author: | powellap [ Thu Sep 29, 2016 2:42 pm ] |
Post subject: | Post Windows 10 AU Upgrade |
I am running CS 4.3.0. This was installed as an admin but the users on the PCs are not. After Windows 10 AU (1607) installs, I receive a message about CS needing to configure itself for the new OS. If the user is a admin this happens with a prompt from the UAC, which they approve and life goes on. However, on the PCs that have standard users, this prompt happens every time they restart the PC because they obviously don't have the proper permissions to make the changes. Is there a way to detect when CS is in this state so that I can do something about it? ie. Registry setting, etc? |
Author: | powellap [ Fri Sep 30, 2016 5:35 am ] |
Post subject: | Re: Post Windows 10 AU Upgrade |
I want to automate the process. I need to know what CS is checking/looking for when it throws the message that it needs to configure itself for the new OS. |
Author: | Gaurav [ Fri Sep 30, 2016 5:49 am ] |
Post subject: | Re: Post Windows 10 AU Upgrade |
You need to do two things: 1) In the registry, open HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run, and find the value "Classic Start Menu". Replace the "-autorun" parameter with "-startup". This will stop the upgrading. 2) After the upgrade of Windows, run regsvr32 %windir%\System32\StartMenuHelper64.dll (or StartMenuHelper32.dll for 32-bit Windows) |
Author: | powellap [ Fri Sep 30, 2016 6:05 am ] |
Post subject: | Re: Post Windows 10 AU Upgrade |
Okay this is a good start. But... let me ask this a different way. Computer has Win 10 (1511) (not AU) and CS 4.30 installed. Everything is working fine. Microsoft randomly picks this PC to upgrade to 1607 AU. (1) Next reboot into the GUI, CS throws the message that it needs to configure itself for the new OS. Admin user agrees (by allowing UAC prompt), changes are made. (2) All reboots afterwards (until MS breaks it again) CS and Windows go along there merry way. No message from CS about configuration. I assume CS is checking something (registry setting?, file versions?) in both (1) and (2) to decide whether to throw the message and attempt to do the "configure". Can you share what those checks are? |
Author: | Gaurav [ Fri Sep 30, 2016 6:54 am ] |
Post subject: | Re: Post Windows 10 AU Upgrade |
The Windows version has to match the value stored in HKEY_LOCAL_MACHINE\SOFTWARE\IvoSoft\ClassicShell: DWORD WinVersion. |
Author: | Ivo [ Fri Sep 30, 2016 7:17 am ] |
Post subject: | Re: Post Windows 10 AU Upgrade |
Why not just upgrade all computers to version 4.3.0? It will not be removed by the AU. |
Author: | powellap [ Fri Sep 30, 2016 8:18 am ] |
Post subject: | Re: Post Windows 10 AU Upgrade |
Awesome. Thanks. Ivo, 4.30 is installed. The problem is, CS needs permissions a standard user doesn't have. They will see this message every time they reboot the PC. |
Author: | Ivo [ Fri Sep 30, 2016 8:35 am ] |
Post subject: | Re: Post Windows 10 AU Upgrade |
Ah, right. I was a bit confused. The problem is that the AU upgrade will destroy some registry settings that require admin access to restore. You need to register the StartMenuHelper dll and update the Windows version in the registry, which will stop the update checks. |
Author: | powellap [ Fri Sep 30, 2016 8:43 am ] |
Post subject: | Re: Post Windows 10 AU Upgrade |
I'm looking in HKLM\Software\Microsoft\Windows NT\CurrentVersion, but nothing seems to compare to your WinVersion value. Any ideas? By the way thanks for the help on this. |
Author: | powellap [ Sat Oct 01, 2016 11:25 am ] |
Post subject: | Re: Post Windows 10 AU Upgrade |
Maybe I'm missing it, but is the WinVersion calculated or is it based on a value from Windows? |
Author: | Ivo [ Sat Oct 01, 2016 11:46 am ] |
Post subject: | Re: Post Windows 10 AU Upgrade |
You need to set the value WinVersion in HKEY_LOCAL_MACHINE\SOFTWARE\IvoSoft\ClassicShell to 167786553. It corresponds to the AU version. If this number doesn't match the current Windows version, the auto-upgrade behavior will kick in and you will get the popup after you log in. |
Author: | powellap [ Sat Oct 01, 2016 1:02 pm ] |
Post subject: | Re: Post Windows 10 AU Upgrade |
Thank you. I guess what I'm struggling with is, where that AU value is, so that I can update the WinVersion in the future so that it matches. |
Author: | __trj [ Thu Oct 26, 2017 5:05 pm ] |
Post subject: | Re: Post Windows 10 AU Upgrade |
powellap wrote: Thank you. I guess what I'm struggling with is, where that AU value is, so that I can update the WinVersion in the future so that it matches. The formula is appears to be 2^24 * (Windows 10 major version number) + (Windows 10 build number). So the Fall Creators Update (1709) is 2^24 * 10 + 16299 = 167788459 Just posting here because I have to deal with this every time there's a Windows 10 upgrade and I kept coming across this post and no answer, so I decided to figure out how the number is calculated. |
Author: | powellap [ Thu Oct 26, 2017 9:51 pm ] |
Post subject: | Re: Post Windows 10 AU Upgrade |
I have no idea how you figured that out, but thanks for the work! |
Author: | iorx [ Mon Oct 30, 2017 5:37 am ] |
Post subject: | Re: Post Windows 10 AU Upgrade |
Maybe resurrecting something very old here. But I've got this working for me with upgraded Windows 10 machines. Note: I only use the Start Menu component from Classic shell, nothing else. Running the below as a startup script on computers through a GPO. Code: @echo off
rem * -------------------------------------------------------------------------- SETLOCAL ENABLEDELAYEDEXPANSION if Not Exist "%systemRoot%\System32\StartMenuHelper64.dll" ( echo * No Classic Shell found goto :eof ) set valCurrentBuild= set valCalcCurrentBuild= set valClassicWinVersion= rem 10240 1507 Threshold 1 rem 10586 1511 November Update rem 14393 1607 Anniversary Update rem 15063 1703 Creators Update rem 16299 1709 Fall Creators Update rem xxxxx 1803 Redstone 4 rem * Windows build for /f "tokens=1,2,3" %%i in ('reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion" ^| find "CurrentBuild"') do set valCurrentBuild=%%k echo * Windows Build %valCurrentBuild% set /a valCalcCurrentBuild=16777216*10+%valCurrentBuild% rem * Classic Shell check for /f "tokens=1,2,3" %%i in ('reg query "HKEY_LOCAL_MACHINE\SOFTWARE\IvoSoft\ClassicShell" ^| find "WinVersion"') do set /a valClassicWinVersion=%%k if Not Defined valClassicWinVersion ( echo * No Classic shell WinVersion number found goto :eof ) echo * Caclulated vaule for ClassicShell %valCalcCurrentBuild% echo * Registry value for ClassicShell %valClassicWinVersion% rem * Fix Classic Shell registry value if %valCalcCurrentBuild% GTR %valClassicWinVersion% ( echo * New value to HKEY_LOCAL_MACHINE\SOFTWARE\IvoSoft\ClassicShell\WinVersion = %valCalcCurrentBuild% reg add "HKEY_LOCAL_MACHINE\SOFTWARE\IvoSoft\ClassicShell" /v "WinVersion" /t REG_DWORD /d %valCalcCurrentBuild% /f regsvr32 /s %SystemRoot%\System32\StartMenuHelper64.dll ) else ( echo * Classic Shell WinVersion is OK. ) rem * -------------------------------------------------------------------------- |
Page 1 of 1 | All times are UTC - 8 hours [ DST ] |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |