First, verify this is not https://support.citrix.com/article/CTX238440
. The error message is normally different, but that’s the most likely cause: language issues.
Second, Add Version to your OS layer, run CMD As Administrator, and do the following. This will trigger a new scan of critical OS system files to update our list of critical system files.
CD Program FilesUnideskUniservice
Then finalize that and test creating a new app layer again.
Otherwise, this is a system driver that has not been properly copied to the boot disk. This does not apply to OS and Platform layers because the boot disk is handled differently. But with App Layers, the boot disk is a thin disk that contains just enough Windows to get minifilter drivers running. 0xC000000F means we missed copying something to the boot disk.
Unfortunately, you can’t tell what we missed. What you need to do is version your OS layer to get a record of a successful boot. Login, run msinfo32, Boot, and enable Boot Logging. This will create a boot log file called C:Windowsntbtlog.txt that conatins, in order, every file loaded during boot. Reboot to generate the log, and copy it to a file share. Leave the packaging machine for the OS layer open, you will need it again in a minute.
On the packaging machine for the App Layer that fails to boot, attach your Windows installer ISO. Boot from that. When you get the the first Windows Setup dialog, type Shift-F10, which will bring up a command prompt window. In this machine, X: is the CD-ROM, C: is the mini boot disk, D: is the OS layer, and E: is the package disk. We care about C: and D:. Specifically, we care about what is in D: that is not in C: but should be.
Load up ntbtlog.txt in Notepad. In the command prompt window, type “C:” to get to the C drive, and then “CD Windowssystem32”. All of your important files will be in Windowssystem32 or windowssystem32drivers. Read through the ntbtlog.txt, and check that each file is on your C: drive. For any files which are not, copy them from the D: drive with a command like this:
XCOPY /CHOK D:Windowssystem32driversntosext.sys C:Windowssystem32drivers
The parameters to XCOPY ensure that the permissions and attributes are copied as well. Note every missing file. Once you have found and copied in the missing files, reboot from the hard drive, not the CD-ROM. Verify that your app layer now boots. Cancel the App Layer.
Back in the OS layer, edit C:Program FilesUnideskUniservicebootfile.txt. Add the correct path for the missing files to the bottom of bootfile.txt. Note that the directory separators are / instead of . So for instance, add the following line:
Save the file, finalize, and attempt to create a new app layer with the new OS version. If this works, please open a Support Case and let Citrix know about this file. Normally we would have picked it up with the Uniservice /B scan. We will likely ask for other information from your OS layer, including if you know what updates might have triggered this. However, with the modified bootfile.txt, you should be able to continue your deployment.