Win 8.1 Bypass Compatibility Errors for Unattended Install.
Hi all,
I am trying to complete my unattended scripted install of win 8.1 for my developers. I have multiple post installation tasks that install my software and i've worked out all the bugs except for when visual studio 2008 installs, it trys to load some files that get this "Compatibility Error" and all you have to do is click "close" and the install continues, but it hangs up the other apps that need to be installed. Like I said I'm trying to get this fully unattended. I was thinking of maybe changing the registry to not allow the compatibility assistant. Has anyone dealt with this yet? Let me know any suggestions you may have!
-
You could probably just stop the 'Program Compatibility Assistan Service' before the installation begins and if you feel your developers can't live without it - !!!!!! - start it up again on completion. - anonymous_9363 10 years ago
-
Great! Thank you! - adrienelizondo 10 years ago
Answers (3)
you can disable thru gpedit or just poke the registry keys
to disable it.
[HKEY_CURRENT_USER\Software\Policies\Microsoft\Windows\AppCompat]
"DisablePCA"=dword:00000001
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\AppCompat]
"DisablePCA"=dword:00000001
to enable it
[HKEY_CURRENT_USER\Software\Policies\Microsoft\Windows\AppCompat]
"DisablePCA"=-
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\AppCompat]
"DisablePCA"=-
Comments:
-
SMal.tmcc,
So I can't get this powershell script to work properly. Here is what I have it doing.
get-service -DisplayName 'Program Compatibility Assistant Service' | Stop-Service
Set-service Program Compatibility Assistant Service -startuptype "disabled"
Set-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\AppCompat -Name DisablePCA -Value 1
Set-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\AppCompat -Name DisableEngine -Value 1
Set-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\AppCompat -Name SbEnable -Value 0
and then my KACE application command is set to.
powershell.exe -nologo -executionpolicy bypass -noprofile -file Stop_PCA_Reg.ps1
This tasks follows a few other installs, and by the time everything finishes up, the PCA error still comes up on SQL 2005 and once all the installs are finished, the registry keys have not been set, and the service has not been stopped. But if I just run this on the win8.1 machine it works fine.
I am still new to both KACE and powershell so also I was wondering if there is a way I can display a CMD prompt to let me know if this is working properly or not.
Let me know what you think! - adrienelizondo 10 years ago-
try running it with cmd.exe as the application and powershell.exe -nologo -executionpolicy bypass -noprofile -file Stop_PCA_Reg.ps1 as the parameters - SMal.tmcc 10 years ago
-
How can I set cmd.exe as the application? Do i still need to upload the script? Would that just be a matter of adding a new bat script and putting the powershell parameters? Sorry, I am pretty new at this. - adrienelizondo 10 years ago
-
Got thinking may be just because you have no path to the .ps1 file so when you call powershell it assumes the directory you are in. so if your script has c:\windows\system32 the call is looking for the script file in that directory not the kace directory. See my answer for a picture on launching exe and also alternative way to call powershell. - SMal.tmcc 10 years ago
You need to upload the Stop_PCA_Reg.ps1 as a dependancy. then you can call it a couple of ways.
or
Comments:
-
Wow! awesome thanks! Where are you accessing this on the KBOX. I've just been using the post installation task tab and saying add new application. How can I get to the screen this image is showing? - adrienelizondo 10 years ago
-
I gave you the commands for a kace 1000 script. let me give you commands for a kace2000 post bat script. you do not even need power shell. - SMal.tmcc 10 years ago
For the k2000 you need to add these lines in a post batch script
net stop pcasvc
reg.exe add HKLM\SYSTEM\CurrentControlSet\services\PcaSvc /v Start /t reg_dword /d 4 /f
reg.exe add HKLM:\SOFTWARE\Policies\Microsoft\Windows\AppCompat /v DisablePCA /t reg_dword /d 1 /f
reg.exe add HKLM:\SOFTWARE\Policies\Microsoft\Windows\AppCompat /v DisableEngine /t reg_dword /d 1 /f
reg.exe add HKLM:\SOFTWARE\Policies\Microsoft\Windows\AppCompat /v SbEnable /t reg_dword /d 0 /f
Comments:
-
Ok. So the script works great if I run it manually on a windows 8 machine, but when it runs as a post install task it is not creating the entries in the registry, and not stopping the service. It almost seems like during the post installation tasks that windows hasn't fully booted up yet. So I am still getting the PCA error window when SQL 2005 tries to install. Any ideas? - adrienelizondo 10 years ago
-
since it is 64 bit you may have to use HKLM64 instead of HLKM
Is your kbox 3.6?
here is one question on how they got PS to work with kace 3.6.
http://www.itninja.com/question/k2000-3-6-and-powershell-scripts - SMal.tmcc 10 years ago-
Ok... I'll try the 64 change. We are on 3.5.80613 - adrienelizondo 10 years ago