One of the challenges I have had with running certbot on Windows is that os.geteuid method used in some classes breaks the process
os.geteuid() is a unix only method
Use find and replace to replace os.getuid() with '0'
This has to be done in each class (main.py, account.py etc) as the errors are raised in those classes not in the util.py class
e,g, in account.py class
Work around Code:
1) Use If else statement to differentiate between windows and linux
os.name() is able to differentiate between windows ('nt') and linux ('posix)'
2) Create new folder creation methods in util.py specifically for windows. This means we can isolate Window folder creation specific issues and write logic to deal with those errors in those methods
3) In methods above Point windows to windows folder creation methods
4) Point linux to linux folder creation methods