Hello, simply put I've modified WPKG service source code to make software installation at shutdown in Windows Vista and newer possible. Here http://sdrv.ms/1baxE9K you can download zip file with modified source code and compiled WPKGSrv.exe. If you want to try this out you have to overwrite WPKGSrv.exe in Program files\wpkg with this one (stop WPKG service first). Don't forget to add "PreshutdownTimeout" (DWORD) in [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\gpsvc] with some high value (it's in milliseconds). When I will release version with the installer this will be set at installation time. Now extended cut :) I'm a long time Wpkg user. I like it very much. I use it mostly in small and medium-sized environments. And my favourite way of running it is definitely at shutdown. As you know since Vista came and Microsoft implemented new rules for application and services shutdown WPKG client was ruthlessly killed after a few seconds of Windows shutdown. Of course there are ways to work it around: - you can run scheduled tasks, even late at night, but there are empty runs if there is nothing to install, you have to maintain additional account with admin rights in case user changes his password etc. - you can use group policy, but not on Home edition. All in all service running at shutdown was still my preferred method and I prayed that someone adapts it to Windows Vista and newer. :) I've even posted here more than a year ago but there were no results. http://lists.wpkg.org/pipermail/wpkg-users/2012-October/009020.html Time passed by, Windows XP slowly becomes obsolete and I had to do something. :) I took a look at the code. Although I'm not a C++ developer it looked nice. I've googled around and found almost nothing. When someone asks how to delay Windows 7 service shutdown people say it's now impossible because it's bad practice (like they know anything :) ). But Microsoft himself states otherwise http://msdn.microsoft.com/en-us/magazine/cc164252.aspx#S2 Through trial and error I found that someone who programmed this service did nearly everything necessary to delay shutdown in Windows 7 but one key element was missing - service must periodically inform Service Control Manager that it is alive and still doing its tasks. So I've added piece of code that starts another thread which communicates with SCM and then starts WPKGworker (which manages application installs). Most of my changes start at line 730. I've tried to adhere to code conventions used in this program. Right now I haven't found the way to display UI during shutdown although it's definitely possible as I've seen apps doing this. I've tested this on Windows 7 and XP. I'm waiting for your feedback. Regards, Chris |