XP Embedded IP address change problem

I had come across this issue some time ago with XPE (XP Embedded) Digital Video Recorders. Every time they were rebooted they lost their settings. Eventually got to the the bottom of it which related to group permissions for the user changing the IP address. However this one seemed very similar but actually turned out slightly more convoluted.

Basically the administrator user needs to be made a member of the Network Configuration Operators group. You do this by righ clicking on my computer and select Manage. Then select users and groups – select the Network Configuration Operators group and add administrator to it. Reboot the machine and then follow the next set of steps. What you are doing is changing the access permissions of some registry keys that have different ACLS than in XP itself.

You will need a tool called subinacl which you can download from here. Install it and then create a text file with this in it (call the file tcpset.bat or something similar)

subinacl /keyreg HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpip /grant="Network Configuration Operators"=QCEYA
subinacl /keyreg HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipLinkage /grant="Network Configuration Operators"=QSCEYA
subinacl /keyreg HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParameters /grant="Network Configuration Operators"=QSCEYA
subinacl /subkeyreg HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParametersAdapters /grant="Network Configuration Operators"=QSCEYA
subinacl /subkeyreg HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParametersDNSRegisteredAdapters /grant="Network Configuration Operators"=QSCEYA
subinacl /subkeyreg HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParametersInterfaces /grant="Network Configuration Operators"=QSCEYA
subinacl /keyreg HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParametersPersistentRoutes /grant="Network Configuration Operators"=QSCEYA
subinacl /keyreg HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParametersWinsock /grant="Network Configuration Operators"=QCEYA
subinacl /keyreg HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipPerformance /grant="Network Configuration Operators"=QCEYA
subinacl /keyreg HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipServiceProvider /grant="Network Configuration Operators"=QCEYA
subinacl /keyreg HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipEnum /grant="Network Configuration Operators"=QCEYA
subinacl /keyreg HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipSecurity /grant="Network Configuration Operators"=QCEYA
subinacl /keyreg HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesDHCPConfigurations /grant="Network Configuration Operators"=QSCEYAD
subinacl /subkeyreg HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesDHCPParameters /grant="Network Configuration Operators"=QEYA
subinacl /keyreg HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServices{GUID_OF_NIC}ParametersTcpip /grant="Network Configuration Operators"=QSCEYAD
subinacl /subkeyreg HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesNetBT /grant="Network Configuration Operators"=QCEYA
subinacl /subkeyreg HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesNetBTParameters /grant="Network Configuration Operators"=QSCEYA

Note You must replace {GUID_OF_NIC}in the fifteenth line of the code with the actual GUID of the network adapter on your device. You can find the GUID under the TCP/IP service registry key. For example, in the following resigtry entry, the GUID is AEA17CDF-5551-4DF7-90EE-73E0E595BC31:

which you can ascertain from the registry


The default location of the SubInAcl.exe file is C:Program FilesWindows Resource KitsTools.

  • Copy the filename.bat (whatever you called your batch file)  file and the SubInAcl.exe file to the same temporary folder.
  • At a command prompt, locate the temporary folder, and then run the Filename.bat file.
  • After you follow these steps, you can successfully change the TCP/IP settings if you belong to the Network Configuration Operators group