04-12-2019 02:15 PM - edited 04-12-2019 02:17 PM
We're just starting to look at Lenovo's for our company (we're a Dell shop) and we use WPKG for software deployment and I'm trying to make a package to execute Lenovo System Update 5.07.0078 to patch the systems with the latest Drivers/BIOS, like we do with Dell Command Update in an automated fashion. I'm doing my testing on an older Thinkpad T430s as that's all I have available to me right now.
When running in a user session in the GUI everything works fine. When running this command in a user session as SYSTEM using psexec
tvsu.exe /CM -search A -action INSTALL -includerebootpackages 1,3,4 -noicon -nolicense -defaultupdate
it also appears to kind of run fine (I notice tvsu.exe (when run as SYSTEM) spawns tvsukernel.exe (which runs under my username) and kills tvsu.exe which creates other problems with our software deployment tool like moving onto the next package to install before this one finishes, but I can work around this, and isn't the point of this post).
The problem is when WPKG (our software deployment tool) runs at Startup, it will initially run tvsu.exe as SYSTEM, and then spawn tvsukernel.exe also as SYSTEM, but nothing gets installed and it doesn't work. I've tried calling tvsukernel.exe directly, and that didn't work either.
I've tried setting the AdminCommandLine registry key that's used in the ADMX templates so you can just call tvsu.exe /CM and it will populate the other switches, but that doesn't work either.
REG ADD "HKLM\SOFTWARE\WOW6432Node\Policies\Lenovo\System Update\UserSettings\General" /v "AdminCommandLine" /d "/CM -search A -action INSTALL -includerebootpackages 1,3,4 -noicon -nolicense -defaultupdate" /t REG_SZ /f
When running tvsu.exe /CM (with the AdminCommandLine registry key set to "/CM -search A -action INSTALL -includerebootpackages 1,3,4 -noicon -nolicense -defaultupdate"), and confirmed that's it's running that in service_log.txt,
Here is the tvsu_exe.log
TSS(L) 1: 13:27:49:0884 tvsu.cpp(870): Begin InvokeUacSdkViaService TSS(L) 1: 13:27:49:0884 tvsu.cpp(665): Installdir: C:\Program Files (x86)\Lenovo\System Update TSS(L) 1: 13:27:49:0884 tvsu.cpp(743): szCmd: "C:\Program Files (x86)\Lenovo\System Update\TvsuCommandLauncher.exe"
That's it. Nothing else...
An interesting note in UACSdk.log inside the Lenovo Log folder is this
TSS(L) 0: 13:40:38:0817 uacsdk.cpp(181): Limit user TSS(L) 0: 13:40:38:0832 common.cpp(138): Function 1 begin! TSS(L) 0: 13:40:38:0988 uacsdk.cpp(732): Function 1 succeed! TSS(L) 0: 13:40:38:0988 common.cpp(221): Function 2 begin! TSS(L) 0: 13:40:39:0098 uacsdk.cpp(740): Function 2 succeed! TSS(L) 0: 13:40:39:0098 uacsdk.cpp(744): Function 3 begin! TSS(L) 0: 13:40:39:0113 vista.cpp(743): Function 4 begin! TSS(L) 0: 13:40:39:0129 vista.cpp(784): Get active session id failed! TSS(L) 0: 13:40:39:0129 uacsdk.cpp(746): Function 3 end! TSS(L) 0: 13:40:39:0145 common.cpp(700): Function 5 begin! TSS(L) 0: 13:40:39:0145 common.cpp(305): Function 6 begin! TSS(L) 0: 13:40:39:0160 common.cpp(315): Function 6 succeed! TSS(L) 0: 13:40:39:0160 common.cpp(99): Function 7 begin! TSS(L) 0: 13:40:39:0160 common.cpp(121): Function 7 succeed! TSS(L) 0: 13:40:39:0176 common.cpp(743): Function 5 succeed!
Get active session id failed!
Maybe this is why? Can this tool ONLY be run in an active user session and not at startup? It sure would be nice to be able to run
Tvsukernel.exe" /CM -search A -action INSTALL -includerebootpackages 1,3,4 -noicon -nolicense
As SYSTEM as it would avoid the extra process spawning and be able to patch the system prior to user login. Running this command as SYSTEM during startup gives me this log file that kind of just hangs and doesn't do anything after about 2 minutes.
Solved! Go to Solution.
04-15-2019 11:38 AM
System Update is the wrong tool for what you're trying to do. Take a look at ThinInstaller instead. Here are some links to get you started.
04-16-2019 09:28 AM - edited 04-16-2019 09:30 AM
Thanks for the links.
I'm a bit confused as to why System Update even has command line options, if this isn't the right tool for the job... It seems like providing the command line options is the reason for doing what I'm trying to do, is it not?
Since we only have a very small handful of Lenovo devices, I didn't want to have to maintain my own repository. Is there anyway to point thin installer to the Lenovo update servers? I don't see any options for that.
Thanks in advance!
04-17-2019 05:04 AM