There are a couple of tasks you can use to verify if the upgrade will proceed and check different things. The first is the in-place upgrade – target validation.
This step is used to check if the computer has enough disk space, the BigFix Client has enough precache, and whether Windows 7 has a license.
- Run the action on your Windows 7 machine and allow BigFix to change the two parameters for increasing CPU and the Precache downloads.
If the action fails, investigate why it failed before proceeding to the next step.
Go to the machine you ran the action on. Open the log file from C:\in_place_validate and check why the target validation failed.
In this case it failed because Windows 7 was not activated and was out of the grace period.
Fix the errors and run the validation again until it completes successfully.
Note: If the action completes, it will clean up and remove the in_place_validate folder.
- Go to task ID 202 – Windows in-place upgrade.
You should find the uploaded ISO file in the image details.
- Run the action so it checks the upgrade and if there are any errors. This check actually starts the upgrade and runs a check for errors or warnings.
Once you run the Check Only and it completes, the Run Upgrade Only option becomes relevant. This is a good way to create a deployment to check and download the upgrade ahead of time. If there is a problem, this step fails. If it completes, run the run upgrade only Fixlet that uses the already downloaded files to run the upgrade at a later date.
You can now take action and run the in-place upgrade on a PC. During the upgrade, BigFix copies the extracted ISO to C:\in_place_upgrade. BigFix checks and ensures that there are no errors before proceeding with the upgrade such as a driver conflict or an application conflict. The installer writes a log to the in_place_upgrade folder and if the exit code is anything but 0, the setup fails. This is for your benefit so the upgrade does not inadvertently blue screen your machine.
Like in the case of all deployments, you can deploy the in-place upgrade just like another action. You can schedule the deployment to run at a certain time.
Prompt the end user to take action when they are ready and give them flexibility to run at their convenience.
You can also publish it in the BigFix Self service center.
The out.log fails if the exit code is not 0 for the setup. Microsoft outputs these exit codes as binary and it is often painful to convert. I have created an analysis on Bigfix.me that pulls back in the Console the error code for you. So if you have multiple machines that failed with the same error code, you can help remediate the other machines without having to run the setup manually: https://bigfix.me/analysis/details/2998608
So the best way to determine why it failed is to start the upgrade process manually by running setup.exe at C:\in_place_upgrade. In the log, you should see the conflict that is causing the upgrade to fail. Address the conflict before proceeding. Most of the conflicts are due to applications or drivers not being compatible with Windows 10. You can use BigFix to detect and upgrade the driver or applications, so the next time you run the setup it will proceed past errors.
Here is a link to some of the switches you can run and add command options: https://docs.microsoft.com/en-us/windows-hardware/manufacture/desktop/windows-setup-command-line-options
/MigrateDrivers none - instructs whether to migrate the drivers from the existing installation during the upgrade. You can specify All or None. By default, the setup decides which is best for each individual driver based on the installation choice. You can use this switch with /installdrivers, though it is generally not required
If you want to ignore the error, add a parameter to the action in BigFix - /Compat IgnoreWarning
For Mcafee Drive Encryption, read this article on how to suspend Mcafee preboot. You can create a software deployment to enable the temporary autoboot for the machines to upgrade.