Our IT Support Dept. releases an internal software product that I write via group policy.

Is it possible to force an update of a particular group policy software install without asking the users to log off and log back on to their machines?

  • You use Group Policy to install software? You must hate your users more than I do. – HopelessN00b Apr 13 '16 at 18:15

The software cannot install/upgrade unless the user reboots his computer (Computer objects in GPO gets applied before the user can log on). Maybe Vista can do this, I'm not sure - but with XP you really do have to reboot.

| improve this answer | |
  • Thanks, I was pretty sure that was the answer. I just wanted to check. – MrEdmundo Jun 11 '09 at 9:45
  • Yep, the GPO install software takes place before user login. so you have to reboot unfortunately. Thats why MS has config mgr and sms:) – MrTimpi Jun 11 '09 at 10:35
  • Are you sure? Normally you can force GP down – gbn Jun 11 '09 at 11:59
  • What do you mean by forcing GP down? Like "gpupdate /force"? It still requires a reboot to take effect. – pauska Jun 11 '09 at 12:17

In a command shell you can run

gpupdate /force

which will (as the command implies) force a group policy update. It can also be tailored to update the user or computer policy with the switch




| improve this answer | |

For Win 2003:

gpupdate /force /target:computer

For Win 2000:

secedit /refreshpolicy machine_policy /enforce

Not sure about XP but you could try both

| improve this answer | |
  • Both commands need reboot to apply some policies. – motobói Jul 1 '13 at 22:28

It's a cheat compared to your question, but you could use psexec to remotely install the package on computers while not having to break users activity. Psexec is from Sysinternals (Microsoft now) for free

| improve this answer | |

Maybe creating a schedule task for the users, and this task run the vbscript or something else for update the App. The script must verify the version of executable previous replace or run update task.

    On Error Resume Next
DIM fso    
Dim version
Set fso = CreateObject("Scripting.FileSystemObject")
Set WshShell = WScript.CreateObject("WScript.Shell") 
x86=wshShell.ExpandEnvironmentStrings("%PROGRAMFILES(x86)%")&"\Cisco Systems\Cisco Jabber\CiscoJabber.exe"
x64=wshShell.ExpandEnvironmentStrings("%PROGRAMFILES%")&"\Cisco Systems\Cisco Jabber\CiscoJabber.exe"
If (fso.FileExists(x86) or fso.FileExists(x64)) Then
  version= CreateObject("Scripting.FileSystemObject").GetFileVersion(x86)
  if (strcomp(version,"",1)=0) then
    version= CreateObject("Scripting.FileSystemObject").GetFileVersion(x64)
    'Wscript.echo "x64"
  end if
  'Wscript.Echo version & "  en x86"
  if (strcomp(version,"",1)=0) then
    'Wscript.Echo "Tiene la ultima version"

    'Wscript.Echo "Updating"
    WshShell.Run "msiexec.exe /I ""\\server\sharedfolder\CiscoJabberSetup.msi"" /quiet"

  end if
  'WScript.Echo("Install as new app")
  'WshShell.Run  "msiexec.exe /I ""\\server\sharefolder\CiscoJabberSetup.msi"" /quiet"

End If
| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.