App Layering: Published image to PVS prompts user to restart computer
book
Article ID: CTX230767
calendar_today
Updated On:
Description
Customer publishes an image to PVS. When the machine boots up, it prompts for a restart with a box like this:

"You must restart your computer to apply these changes."
This is telling you that a new device has been detected and the driver has been installed, but Windows must restart to properly support the device. The correct place to identify the specific device is C:\Windows\inf\setupapi.dev.log. See CTX222231 for more information about how to read that file.
You find that the offending device is a SCSI disk like this:
>>> [Device Install (Hardware initiated) - scsi\disk&ven_vmware&prod_virtual_disk\5&22be343f&0&000100]
>>> Section start 2017/12/01 12:50:42.964
...
! dvi: Query-removal during install of 'SCSI\DISK&VEN_VMWARE&PROD_VIRTUAL_DISK\5&22BE343F&0&000100' was vetoed by 'SCSI\Disk&Ven_VMware&Prod_Virtual_disk\5&22be343f&0&000100' (veto type 6: PNP_VetoDevice).
! dvi: Device required reboot: Query remove failed (install) 0x17: CR_REMOVE_VETOED.
If you boot this vDisk in Private Mode and allow it to reboot, you may find that you get a BNIStack boot failure.
Add on 24Feb2023
Also check article: CTX230767. If in the VM's config, the setting: devices.hotplug:true can also cause this issue. Change the setting to device.hotplug:false. For more information on this setting see:
https://kb.vmware.com/s/article/1012225
Resolution
This means that there is a second disk attached to the Target Machine. If there is no second disk attached to the Target Machine, then there would be no device to detect. This is mostly likely the local Cache Disk.
The first thing to do is to Add Version to your Platform Layer (or create a new one), and attach a copy of the Cache Disk that your Target Machines are using to the Packaging Machine. This allows Windows to identify and install that exact disk in the Platform Layer, so that images published that include that Platform Layer will have already seen that disk once. Use the actual Cache Disk that is attached to your Target Machine template if possible to ensure that the signature matches.
Restart when prompted. When you double-click on "Shutdown for Finalize", let the machine shut down, but do not go back to the Management Console (LMC) and run Finalize yet. You must remove that extra disk from the Packaging Machine before you Finalize; otherwise, Finalize will fail because it's looking at the wrong disk.
Once the extra disk has been removed, do not power the Packaging Machine on again. Run Finalize from the LMC. Then use that new Platform Layer with images for those Target Machines.
One additional consideration for the Target Machines themselves: make sure the Cache Disk itself is attached to the Target Machine at device node SCSI 0:0. It's possible to attach the disk to any SCSI port, but if it's anywhere other than SCSI 0:0, Windows will likely prompt you to restart even though the Platform Layer has definitely seen this disk before - likely on SCSI 0:2. Apparently the Cache Disk must be on the first unused SCSI port.
You may also see device prompts when you are booting from a BDM disk instead of the network (via PXE) or a boot ISO. Attaching the BDM to the Platform Layer does not help. For App Layering, we recommend PXE or ISO boot rather than a BDM specifically because of this. If you are required to use a BDM, contact Supprot for guidance, and note that a manual boot of the published vDisk will be required with each image to get the BDM properly detected.
Was this article helpful?
thumb_up
Yes
thumb_down
No