Uninfector.Defs is only deleted from the %TEMP% directory where Uninfector copies it to. Uninfector does not use the Uninfector.Defs that you place next to Uninfector.exe except to copy it to the %Temp% directory. I will double check the code. But I don't have anywhere the code should be deleteing it from script folder.
As long as you choose "Do Not Show Again" box, a Config.ini should be created next to Uninfector.exe. As long as the contents in the Config.ini file are present it should not ask to download. It will just process the question exactly as it reads from Config.ini. For PE builds it would be best to ask the Download questions to the user during WinPE building in the Winbuilder gui or plugin somehow. Then create the Config.ini accordingly.
The Config.ini contents is very simple.
This is a Config.ini to Allow only Uninfector.Defs Downloading:
[Techware Uninfector Settings]
UpdateDefs=Y
This is a Config.ini to allow All Updates:
[Techware Uninfector Settings]
UpdateDefs=Y
UpdateExe=Y
This is a Config.ini if the user will provide their own Updated Defs file and does not wish to Update Uninfector.exe:
[Techware Uninfector Settings]
UpdateDefs=N
Update: I looked through my code and there is nowhere that would be Deleting the Uninfector.Defs file except from the Root of the %Temp% directory. There is also not code that would ever delete the Config.ini file if it is created.