The way the project is designed is that it will automatically delete the Scripts folder (and anything within) once you do a logout/reboot cycle after setup is complete. That is one of the reasons the UserTweaks.cmd was created to allow the end user to add any tweaks/driver installs etc before the desktop appears. You could use the Setupcomplete.cmd to do your software/driver installations as this will be run under SYSTEM user which is higher than standard Administrator.
setupcomplete.cmd is ran between the branding script finishing and the addon manager starting give or take a few seconds.
as mentioned the Scripts folder is ONLY autodeleted after a logout/reboot cycle. If you are using a autounattend.xml i am unsure when that stage is ran, i suspect it may be ran after MRP has completed, it should technically still work as the scripts folder is not deleted. However because the project uses ini files these are automatically deleted, so i guess your driver.ini etc is also wiped. I will adjust MRP to only delete its own ini files on the next release, which may be quite soon due to a bug that was found in the MSDM parsing stage.
Have checked the code and there was a bit that would delete all ini files with a del *.ini command line, i have now changed it to only delete the ini files that mrp uses. This should no longer interfere with any ini files from users adding other scripts that uses .ini files.
MRP v74.1 has been uploaded and password updated on the first post. Quick Summary + Fixed MSDM parsing glitch/bug that would give no error or message about a dummy or generated MSDM key. Now you will see an Error {xx} message if this happens. The xx can be EM, ND or UL 99.9% it will be UL (un-listed) in that it has no information in the database. EM = Empty/unlisted, ND = not defined. + Fixed blanket deletion of *.ini files and now ONLY deletes MRP's ini files that it uses. So this will prevent any user added scripts that uses ini files for installation of Drivers/Software from being deleted by mistake.. Other than the above two changes it is the same as version 74.0 hence only a minor 74.1 number used.
Forgot to mention, a new brand added, Novatech. also Config Creator now at v1.7 which covers the new brand. Nothing else has been changed.
Small, technical question concerning MRPQTv33.exe: all my attempts to search the description of the LicenseStatusReason values have failed. But your code outputs for my notebook correct interpretation: "License Status Reason - 4004F401: The activation server reported that the computer has a valid Digital License". So the question is WHERE You've found the description of the LicenseStatusReason values? P.S: MSDN in the description of this property says nothing more then Code: [B]LicenseStatusReason[/B] Data type: [B]uint32[/B] Access type: Read-only Specifies the license status. Provides additional information about why a computer is in a specific licensing state. P.S: Search through the ASCII and Unicode strings of MRPQTv33.exe with EXE.EXE also have failed to find even "4004"
@bkul The LicenseStatusReason is found via a WMIC call: Code: wmic path SoftwareLicensingProduct where (Name LIKE '%%Windows%%' and PartialProductKey is not null) get LicenseStatusReason /format:list With a FOR /F loop you can obtain the code itself from the list. Then i have a database which took hours to create! - it not cover every code I have only picked the ones to do with activation which is about 90+ so far. The code returned is decimal so for a DL = 1074066433 or 0x4004F401 in hex. Using slui 0x02a and the hex code will obtain the OS text for that code, it is a long process to do if you are creating a database of them as you have to copy/paste the text - tip use a admin command window then you can copy the text returned easier. With the slui command the hex value must start with 0x ie 0x4004F401 it is best to use capital letters for the hex values A-F as sometimes if you use lower case letters it can glitch and give no return value. The codes covered deal with Digital License, Valid Key, Oobe Grace, KMS and a few others. There is not much on the net about this interesting subject as you may of found and what little there is i had to do a bit of experimentation to see if it was a viable method. The result is to me a useful tool to add to the project as it can give extra information for the end user too for why it not activate etc, such as: C004F00F=Hardware ID binding is beyond level of tolerance. M/Board or other hardware changes. Which means too many changes made and the DL is invalid for the device.
@bios83 Hopefully the latest MRP will no longer interfere with your Drivers and Software installations.
MANY THNX for detailed answer! You see, I'm used to get DETAILED description of all possible property values when I read MSDN wmi class description. But comparing hardware classes descriptions, SoftwareLicensingProduct class description contains all possible values for the LicenseStatus but NOTHNG for the LicenseStatusReason. Thus will follow your advice to create small DB of the LicenseStatusReason with wmic and slui.
LicenseStatus is i think 0 - 6 so that not many, the LicenseReasonCode is a VERY big list if you really wanted to go all the way! As mentioned there isn't that much info about this area, whether M$ wanted to keep it 'secret' or it was too vast to explain lol.
One remark concerning MRPQTv33.exe: at my Thinkpad P51 which has two PCI-Express NVMe drives, MRPQTv33. issues: "HDD Mode/Partition - [Undefined, possible customized chipset.]". That is contemporary NVMe-drives are not supported by the methods used in MRPQT. But all necessary data in my case can be taken from "HKLM\HARDWARE\DEVICEMAP\Scsi\Scsi Port 0\Scsi Bus 0\Target Id 0\Logical Unit Id 0" , "HKLM\HARDWARE\DEVICEMAP\Scsi\Scsi Port 1\Scsi Bus 0\Target Id 0\Logical Unit Id 0". That is directly "From the horses mouse" instead of wmi
I will add new methods later as at some point i will be shifting from script based versions to a more advanced programming language which will hopefully (once i mastered it), have better detection rates. The QT just does a simple check for IDE or AHCI in that area, i know it has little flaws but the main focus on the QT is to obtain the Summary section ie Brand and Activation method that can be used for the computer it is run on. I know it fails on those MMC type 32gb 'sort of' SSDs' in some low end laptops, so i just put that message about unable to define/custom chipset as a quick fix.
slui 0x02a 0x4004F040, "The Software Licensing Service reported that the product was activated but the owner should verify the Product Use Rights" What means this message for GVLK channel?