Search code examples
windowsfilebatch-fileregistryelevated-privileges

How to make a batch file execute a reg file


I have the following code

@echo off
file.reg
pause

This works but when the batch file is elevated I get an error saying that it cannot find the file. does any one know what I am doing wrong.


Solution

  •  @echo off
     rem  set __COMPAT_LAYER=RunAsInvoker  
     REGEDIT.EXE  /S  "%~dp0\file.reg"
     pause
    

    Try this

    If you are accessing locations in the registry that does not require admin privileges you can use __COMPAT_LAYER environment variable.Just execute this before using regedit:

    set __COMPAT_LAYER=RunAsInvoker
    

    that will prevent UAC pop-up if your script is not ran as administrator.