Forum Replies Created
-
AuthorPosts
-
March 3, 2016 at 5:33 pm in reply to: Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED)) #11163dougModerator
Excellent. No problem. Glad it’s working now.
-Doug
March 3, 2016 at 5:26 pm in reply to: Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED)) #11161dougModeratorMark – Yes, that is normally sufficient. However, if you’ve done that and are still having problems then presumably the permissions on that machine have been modified at some point in time in some way such that you’re having issues now. I would suggest taking a look at Microsoft’s page for troubleshooting WMI access denied issues:
https://msdn.microsoft.com/en-us/library/windows/desktop/aa394603%28v=vs.85%29.aspx
-Doug
March 3, 2016 at 2:59 pm in reply to: Error: -1073741819. HRESULT: -2147024894. Could not find file '\targetCompC$P #11159dougModeratorHi Andreas – I understand the issue. To be clear, the symptoms are as follows:
-BatchPatch works fine/normally on all targets except for Win 10 targets
-When checking for Windows Updates on Win 10 targets manually using the control panel Windows Update GUI, the check works properly
-When checking for Windows Updates on Win 10 targets using BatchPatch when the Win 10 targets are pointing to a WSUS server, the Error: -1073741819. HRESULT: -2147024894 occurs.
-When checking for Windows Updates on Win 10 targets using BatchPatch when BatchPatch is configured to bypass the local WSUS server and search instead on ‘Windows Update’ or ‘Microsoft Update,’ the check works properly.
We have had several customers report this problem. I was able to obtain a copy of the WSUS database of one such customer, and then we were able to reproduce the problem here. We were able to isolate the cause as being invalid result data returned from the search for updates against the WSUS.
-2145124338 => 0x8024000E WU_E_XML_INVALID Windows Update Agent found invalid information in the update’s XML data.
In the 20160304 version of BatchPatch we were able to add additional error handling so that in the future when this error occurs we will see it reported properly as -2145124338. The issue appears to be caused by having one or more corrupt updates (most likely driver updates) in the WSUS database.
There are several options for resolution:
Option 0: Run the WSUS Server Cleanup Wizard (in the WSUS console select ‘Options > Server Cleanup Wizard.’ This cleanup routine may or may not fix the issue, but it is likely worth trying as a first step.
Option 1: After a lot of testing with one customer’s database, we were able to determine the culprit update in his database to be ‘AMD driver update for Pci Bus’ I was able to decline this single update and then wait a few minutes, and the error disappeared. For whatever reason, after declining the update SQL still has to do some processing before the error stopped occurring, so make sure to give it some time if the error doesn’t immediately disappear.
Option 2: Selectively decline all of the updates in the ‘Windows 10 and later drivers’ group. To do this…
A. create a new update view on the WSUS by right-clicking on ‘Updates’ in the left-pane, and selecting the option for ‘New Update View…’
B. Check the box ‘Updates are for a specific product.’
C. Modify the checkbox list of products to include ONLY the checkbox for ‘Windows 10 and later drivers.’
D. Specify a name for the view called ‘Windows 10 and later drivers’ or whatever you prefer and click OK.
E. Now make sure the new ‘Windows 10 and later drivers’ view that you just created is the selected view.
F. Change the the filter drop-downs to show
Approval: 'Any Except Declined' Status: 'Any'
G. Select all updates even if they are not approved, and go ahead and decline them. After the updates are declined you might still need to wait a few minutes (or longer) before the error will stop occurring.
Option 3: Rebuild the WSUS database. Fortunately, it only takes about 30 minutes to install and configure WSUS, so this is not a painful process. Less than ideal, yes. However, in most cases it is probably quicker and easier than the 4th option.
Option 4: Find the problematic update and decline it. The problem with this approach is that we do not have a way to determine which update is the source of the problem without very painstaking testing. At the time of this writing we only know of 4 users who have been affected by this problem. We do not know if the same update was the culprit for each user, but we do know that at least 2 of the users the issue was a driver update, and I believe there is a good chance that in all cases it might be the very same ‘AMD driver update for Pci Bus’ mentioned in option 1. If you find that to be the case, please post in this thread to let us know.
When we release the new version of BP (EDIT: this new version was released 2016-03-04) I’d like for you to confirm that you begin seeing the error reported as -2145124338, which will confirm that the error you are experiencing is, in fact, the same as the error that we were able to reproduce with another customer’s WSUS database. If you end up receiving a different error, I’d like to know what that is.
In BatchPatch ‘All Messages’ column it will be reported as:
DATETIME> Windows Update: Error 1611: -106. Failure
DATETIME> Windows Update: -106G: Update search completed with errors: -2145124338
Thanks,
Doug
March 1, 2016 at 5:25 pm in reply to: BatchPatch Service stuck "starting" after successful installation #11157dougModeratorThank you for testing the removal of the AV software. I’m sorry to hear that didn’t work, but it still helps to know that you have at least ruled that out as the culprit. I’m glad you got it working on your Win 10 machine, but what is strange is that I have the service running successfully in my lab right now on 2003, 2008, 2008R2, 2012R2, 7, 8.1, and 10. Additionally, we have many customers successfully running the service on server operating systems. The only reports of any issues have been through this forum thread.
That said, I still believe there is something specific to your environment that is the source of the problem. In your case it sounds like there might be something specific to your server environment (as opposed to your workstation environment) that could be the culprit? Since you have ruled out the possibility of AV being the culprit, could it be a permissions issue of some kind? I know you said that you’re running it as a domain admin. Do you notice any difference if you run it as the built-in local administrator on a server, as opposed to a named domain admin account? While under normal circumstances this should make no difference, at the moment I cannot think of anything else to try. Unfortunately when we are unable to reproduce the issue here it becomes very challenging to determine the source of the problem.
In the service installation directory on one of the problematic servers (the default is “C:Program Files (x86)BatchPatchServiceDomain.Username”) do you see a BatchPatchService.log file? If yes, what does it contain?
Thanks,
Doug
February 29, 2016 at 5:58 pm in reply to: BatchPatch Service stuck "starting" after successful installation #11155dougModeratorHi Ian –
We have tested installing/running the BP service on all current Windows operating systems (including 2008R2 and 2012R2) many times without any issues. Additionally, we have many customers successfully using the feature. That said, I believe there is something specific to your environment that is causing the problem since you’re finding that on two different computers with different OSes you are encountering the same problem. There must be something specific to how your computers are currently configured or to the software that is installed on them that would be causing this issue.
My first best suggestion is that the issue is related to software that you have installed on your computers — probably some type of security-related software such as anti-virus or host-intrution-protection or other similar security software. I think the best place to start is to determine what software is installed on your computer that could be a possible culprit. Then remove that software and test again. I would suggest uninstalling the BP service, then uninstalling any possible culprits such anti-virus software, then re-installing the BP service and seeing how that goes. Please keep me posted on your progress.
Thanks
Doug
dougModeratorOK, so I do see exactly what you are saying here. It’s definitely strange/unexpected, and it isn’t something that we have ever seen before.
Here’s the deal…
As you know, all of the updates are saying “Installation Result: Failed. HRESULT: -2145099769”
This error translates to:
0x80246007 -2145099769 WU_E_DM_NOTDOWNLOADED The update has not been downloaded.
We can see in your offline search for “install downloaded updates” that the Windows Update Agent is first finding that the updates were downloaded, but then right after when it goes to actually install the updates, it’s throwing HRESULT: -2145099769, which indicates that the updates are not actually downloaded. Definitely frustrating, I agree.
I understand exactly what is happening here, and I think I know why it’s happening. In my last forum posting I had mentioned that the only way to start from scratch and clear the Windows Update cache was to delete the contents of C:WindowsSoftwareDistributionDownload. Did you do that on this machine? If yes, that’s the reason for your current issue. I’m sorry for the issues–I didn’t realize it would manifest this way. No worries though because we can fix it. What I believe has happened here is that you deleted the downloaded update from the update cache, which normally should be fine. However, what I did not realize is that in the Windows Update database, the updates are still marked as downloaded. So what is happening is when BatchPatch instructs the Windows Update Agent to download updates that have not already been downloaded, the agent does not download the updates because the database says that they are already downloaded, but in reality the downloaded data does not actually exist anymore since you deleted it. In older versions of BatchPatch, if an update was already downloaded, it would get re-downloaded when executing “Download available updates” but in newer versions of BP, updates are not re-downloaded if they are already reported as being downloaded. It didn’t occur to me that this change would cause you to get stuck in this impossible cycle. Please accept my apologies.
That said, I think the quickest/simplest way of dealing with this is to go to ‘Tools > Settings > Windows Update’ and then check the box that says “Enable cached mode” and also check the box that says “Re-copy/overwrite updates that have already been cached on target hosts.” Then go ahead and execute “Download available updates” and the updates will be downloaded by the computer running BatchPatch, and they will be copied to the target machine where they will be cached. Then once that is complete, go back and uncheck the same two checkboxes. At that point you should be able to “Install downloaded updates” and have it work as expected. If for some reason this doesn’t work, let me know.
Now that I know this is an issue that can occur, I will discuss with the team so that we get something in place for the next release of the software to either prevent this from occurring in the first place or enable an easy solution to fix/overwrite updates that are not cached even though they are reported as being downloaded.
Keep me posted.
Thanks,
Doug
dougModeratorNo problem. Seems like just a case of bad luck. Holler if you run into any other issues.
-Doug
dougModeratorHRESULT -2145124320 from Windows converts to:
0x80240020 -2145124320 WU_E_NO_INTERACTIVE_USER Operation did not complete because there is no logged-on interactive user.
Certain updates (we have only ever actually seen this error with SharePoint updates) can require an interactive user to perform/complete the installation.
I hope this helps.
-Doug
dougModeratorHi Nick – I’d be curious to get more detail from you about the “launching 5 remote commands across 50 systems at once.” What do you mean by this? How are you executing 5 commands at once? What are the commands? Which ‘Remote Command’ action in BatchPatch are you using? There normally should not be any “bogging” like you describe, so I’m hoping we can identify the exact problem so that we can then fix it. The more detail you are able to provide about the exact steps you are taking and the exact menu items you are clicking to launch this process, the more likely we’ll be able to reproduce the issue. If we cannot reproduce it, then it will be tough to fix.
Thanks!
-Doug
dougModeratorExcellent! Glad to help.
-Doug
dougModeratorConsidering that the syntax itself is working for most of your computers, then I think we can assume that the syntax is correct and that the error code being returned is being returned by Windows (the remote system). The Windows system error code 3 translates to:
ERROR_PATH_NOT_FOUND
3 (0x3)
The system cannot find the path specified.Have you confirmed that the ccmsetup.exe exists on those machines and that it exists inside the specified folder?
-Doug
dougModeratorIn Remote Command 1/2 (not 3/4) use the following syntax:
cmd.exe /c “C:PathToYourFile.bat”
-Doug
dougModeratorHi Akshay – I would be happy to help you, but in order to do so I would need you to post the exact error messages that you’re receiving. Or please feel free to contact us at BatchPatch Contact Form to work through your issues.
Also, you may start with reviewing the following links for solutions to common problems:
Troubleshooting Common Errors in BatchPatch
Thanks,
Doug
dougModeratorIf your goal is to run a .bat file on target computers every couple of days, on-demand, then you have a couple of options. You could simply create a deployment (no need to “leave entire directory contents” if we’re just talking about a single .bat file) and run that deployment every couple of days. BatchPatch will copy the .bat file to the target system, execute it, and then delete it (or it will leave it if you choose to leave it). If you leave it but then re-run the deployment a day later, the deployment will still copy the .bat each time because a deployment in BP is a copy plus execute job. Alternatively you don’t have to use a deployment and could instead just copy the .bat file to the target machines using the “copy file/folder” action. Once on the remote machines you could use a “Remote command” in BP to execute the .bat file every other day. I’d suggest you just work with a test computer and fiddle with the different options so that you can see how they behave and decide what you want or prefer. It should be pretty straightforward.
-Doug
dougModeratorHi Nick – It’s great to hear that BP is working so well vs what you had with SCCM! We love to hear that kind of stuff.
The “do not patch server Y until server X is done” functionality is already available in BatchPatch. Please see the following links for a description and tutorials. The second link is a tutorial for one possible way to use the feature but I think it will be helpful even if you are not dealing specifically with virtual machine guest/host sequences.
Advanced Multi-Row Queue Sequence
Virtual Machine Guest host Update and Reboot Sequence Automation
The task scheduler randomization option makes sense. We have on our to-do list already something very similar to what you are describing, but I’m not sure of when this will be available. That said, 150 machines is actually not that many for the system running BatchPatch, even when it’s just a workstation class machine. I mean… yes it’s a lot, but we have customers doing thousands all at once, if you can believe it. I have personally done several hundred at once running BP on a standard quad-core workstation with 8GB of RAM without any real issues. So, I think generally you should be fine scheduling all 150 tasks to execute at the same time. The worst thing that can happen is the GUI becomes a bit less responsive for a few minutes, particularly while the tasks are first being launched. However, the actual tasks should generally complete without issues.
Also, if you really still wanted to break it up and didn’t want to use the ‘concurrent thread max’ setting, you could schedule 50 machines for time X, 50 machines for time X+5, and 50 machines for time X=10 (or something along those lines, at least)
The email notifications can be customized/overridden on a per-row basis. Highlight the hosts that you want to override the default notification setting for, and select ‘Actions > Email notification > Override default email notification settings’
I hope this helps! Let me know if you have any other questions, comments, or problems.
-Doug
dougModeratorNo worries at all about the lengthy post. I’m happy to work with you to get to the bottom of the problem. I appreciate your very clear description of exactly the steps you took. This makes it much easier for me to assist. That said, I’m going to email you rather than reply here so that we can more easily communicate for further troubleshooting.
Thanks,
Doug
dougModeratorThe updates are cached in the Windows Update data store (this is not a BatchPatch cache but rather is the actual cache used by Windows). The Windows Update downloaded data store is in C:WindowsSoftwareDistributionDownload. The only way to remove them is to stop the Windows Update service, then delete the contents of that Download folder, then start the Windows Update service.
Of course even after you delete that folder the updates will still appear “available” in BatchPatch until/unless you hide them.
-Doug
dougModeratorI think I understand why this throws you off, and so we will consider modifying the language to be more clear/precise.
However, no I don’t really think it should say “No updates available” when there are, in fact, 3 updates available. The “check for available updates” is checking for updates that are applicable to the target computer but have not yet been installed. In your case you have 3 updates that have been downloaded but not yet installed, and so BatchPatch says that they are available.
It seems to me that when you see “available” you are thinking “available for download.” But when BatchPatch says “available” it means “available for installation.” The download state is irrelevant. So, you still have 3 updates available for installation on that target computer even though they have already been downloaded. If you do not ever want to install those updates, and if you do not want to see them appear in BatchPatch as available, then on your WSUS server you should remove the approvals for those updates. If you are not using WSUS and instead are using Windows Update or Microsoft Update, then you can instead hide the updates on the target host so that they never appear again as available (you can always unhide them at a later date): Hiding Windows Updates.
I hope this helps.
Thanks,
Doug
dougModeratorI don’t see a problem here. It actually all looks correct. There are a total of three updates available for installation. When you try to download them the log tells you that two of them are already downloaded, so they do not need to be re-downloaded, which is why they are “skipped.” The third update for silverlight is also skipped because your filters under ‘Tools > Settings > Windows Updates’ is set to skip “Feature Packs” (though your log actually indicates that it is also already downloaded on the target, so it would be skipped just like the other two even if you modify your filters, not that it matters). So, this is all correct. This is exactly what should happen. There are no updates to download, so BatchPatch says “There are no updates to download.” When you are ready to install the updates, you can go ahead and just install them. If you leave your existing filters in place, then 2 will install but the silverlight update will still be skipped due to the “FeaturePacks” filter being in place (unless you remove it).
If for some reason you need to replace the updates in the target computer’s download/WindowsUpdate cache, there is a checkbox under ‘Tools > Settings > Windows Updates > Recopy/overwrite updates that have already been cached on target hosts’. This setting is rarely necessary, and from what you have shown me in your logs, it should not be needed, but it also will not hurt to use it, so you are welcomed to enable it if you want.
I hope this helps.
-Doug
dougModeratorThe instructions would be nearly identical. Instead of downloading the full version installer, you’ll download the particular update that you want to install… so in the case of that tutorial we installed version 11 of Adobe Reader. On that same Adobe downloads page there is an update package:
“Adobe Reader 11.0.14 update – Multilingual (MUI) installer”
So then you simply download that file, and use BatchPatch to deploy it the same as the other. BP has built-in support for .msp, so you’ll just need to select the .msp file and execute the deployment. Nothing else special needs to happen on the BP end of things. It will update the 11.0 installation to 11.0.14.
I’ll see if we can get a tutorial posted for this at some point in the not too distant future. However, for the time being it should be very straightforward. It’s the same as any other deployment in BP, but you just pick a different package to deploy.
-Doug
dougModeratorError -102: Failed to execute the search
–This error is also discussed at Troubleshooting Common Errors in BatchPatch
The -102 error occurs any time the target computer is unable to execute the search for updates. The HRESULT code that is reported with the -102 error is the key to determining the specific reason for the failure. If you closed BatchPatch without saving the HRESULT code, you can still view this in the target computer’s BatchPatch.log and/or BatchPatchError.log, which will both be stored in the remote working directory. The default location is C:Program FilesBatchPatch unless you have modified the ‘Remote working directory’ location under ‘Tools > Settings > General.’ HRESULT codes will be in decimal format, but we need to convert them to hex in order to figure out what they mean. To do that, you can use a tool such as the one available here: Decimal to Hex Converter. Once you have the hex representation of the HRESULT, you can look it up here to see what it means: Windows Update Error Code List
In almost all cases the cause is due to a connectivity issue where the target computer is unable to reach or communicate with the WSUS server, ‘Windows Update’ server or ‘Microsoft Update’ server. In the event that a local WSUS server is the location being searched, the most common cause for this error is simply due to the WSUS server being down or offline or unreachable due to some type of network problem. In the event that the location being searched is Windows Update or Microsoft Update, this error is usually the result of the target computer simply not having internet access and therefore not being able to reach Microsoft’s servers. In some cases, the cause of this error is due to a proxy configuration preventing the Windows Update Agent on the target computer from accessing the Windows Update server. For more information on proxies and Windows Update, please see the following links:
Using BatchPatch with an Enterprise Web Proxy
Error 1601: Failed to retrieve WMI info. The requested object does not exist. (Exception from HRESULT: 0x80010114)
This WMI error 0x80010114 could be a couple of different things:
0. Make sure WMI is running on the target. The ‘Windows Management Instrumentation’ service needs to be started/running.
1. There might be some sort of weird memory corruption. Try a simple reboot of the target host.
2. WMI might be corrupt on the target computer. To solve this, the WMI repository would need to be rebuilt. The following link contains steps for rebuilding the WMI repository, but if you suspect that your WMI repository is corrupt, I would recommend that you do some google research before performing any actions:
https://blogs.technet.microsoft.com/askperf/2009/04/13/wmi-rebuilding-the-wmi-repository/
3. You are dealing with a cluster, not a single server. In this case, please review the troubleshooting steps on the following page:
dougModeratorNo worries at all. Sounds like you got it. As a FYI for future reference, in this case it appears that the complete title of the update is
Upgrade to Windows 10 Pro, version 1511, 10586
BatchPatch will match any part of the title, so it’s sufficient to just use “Upgrade to Windows 10 Pro” as you have done to hide the update. The only thing worth knowing for future usage is that if you had two updates (I’m inventing the second update – it doesn’t actually exist, of course):
Upgrade to Windows 10 Pro, version 1511, 10586
Upgrade to Windows 10 Pro, version 1512, 10586
If you were to use “Upgrade to Windows 10 Pro” as the title-matching input in the “hide” list, then both updates would end up getting hidden. However, if you matched the complete title “Upgrade to Windows 10 Pro, version 1511, 10586” then only that particular update would get hidden.
I hope this helps.
Take care,
Doug
dougModeratorDumb question right back at ya:
How are you seeing this particular upgrade appear in BatchPatch? I don’t have your computer in front of me, so I don’t know what you are seeing to be able to guide you. 🙂
If you do a check for available updates in BatchPatch, you get back a list of updates that are available for installation on the target host(s). Most updates have a KB number, but sometimes certain updates do not have a KB number. If you see the Windows 10 upgrade appear in the list of available updates but it does not have a KB number, it should still have a title… maybe something like “Upgrade to Windows 10 for x86 computers” or similar.
In the “hide” list instead of inputting the KB number you would simply input the title of the update. So in this case if the update is called “Upgrade to Windows 10 for x86 computers” then that is the text that you would put into the “hide” list.
Does this make sense? Let me know if you’re still having trouble, and if so please provide as much detail as you can about what you are seeing and what is happening.
Thanks,
Doug
dougModeratorHello – Thank you for your feedback. An exclusion list will exist in the next version of BatchPatch. It has already been implemented in BatchPatch but has not been released in the production build yet. You can expect it probably sometime in the next 4 to 8 weeks.
In the meantime, you can still exclude an update by hiding it, which in your particular case with Windows 10 upgrade is actually probably a better option anyway because once the update is hidden, it will remain hidden until/unless you unhide it: Hiding Windows Updates
I hope this helps.
-Doug
dougModeratorPut the .bat plus all other files in a folder. Make sure the .bat file is using relative file references, not absolute paths, so that when the .bat is executed, it finds the other files in the same dir that it is executed from. Then in the Deployment window choose the option to “Copy entire directory contents.” There is an tutorial of this type of script deployment with multiple referenced files here: Install Multiple .MSU Files with a script
-Doug
dougModeratorI’m not sure if you’re saying that it’s not working, or if it’s not working what the error is or isn’t…
However, my recommendation would be to just use the Deployment feature to deploy the .bat. ‘Actions > Deploy’ instead of ‘Actions > Remote Command.’ Then you don’t need to figure anything out. Just select your .bat, add the “install” parameter, and then let BatchPatch handle copying it to the targets and executing it with the proper syntax.
-Doug
dougModeratorHi Matt – BatchPatch always executes remote commands in the SYSTEM account, which has the highest possible privileges. You should not need to add anything extra. However, if you want, PsExec also supports the -h parameter, which is supposed to elevate when possible. In BatchPatch Remote Commands 1 and 2 support PsExec switches, so you could include -h before any subsequent command. However, like I said, this really should not be necessary. I suspect it would not do anything anyway since the SYSTEM account already has complete system access with no UAC prompts.
-Doug
dougModeratorWhen the popup appears about PsExec, that’s coming from Windows not from BatchPatch. It’s part of Windows trying to protect you from software that you downloaded from the web. On that popup there should be an option to check a box to never prompt you again. And then in the future when psexec runs, it will just run without prompting at all.
-Doug
dougModeratorI’ve emailed you directly to troubleshoot further.
-Doug
dougModeratorBatchPatch exit codes will generally have descriptions next to them in the BP All messages log when they are generated. Non-BatchPatch exit codes, such as codes that come from Windows or codes that come from the installer package itself, are numbers only because they are documented by Windows and/or by the third-party who created the installer package.
That said, I was just able to perform a Java jre-8u73-windows-i586.exe deployment without any issues. I downloaded the offline installer from https://java.com/en/download/manual.jsp and then created a standard deployment in BatchPatch, adding just the /s for a silent install. The deployment was successful.
I think the error code 3 you are seeing must be coming from Windows since the Java offline installer documentation does not list a 3 in its exit code list. Windows error 3 (from https://msdn.microsoft.com/en-us/library/windows/desktop/ms681382%28v=vs.85%29.aspx) is:
ERROR_PATH_NOT_FOUND
3 (0x3)
The system cannot find the path specified.
Frankly, I’m not quite sure what could cause this error to be produced in a BP deployment. I don’t think I’ve ever seen it before, and I don’t believe anyone has ever reported it before. In your deployment did you by chance check the box that says “Retrieve console output” ? If yes, please try unchecking it and re-running the deployment without it.
-Doug
-
AuthorPosts