At least on windows 7 if a file is created on an Admin account,
    Other users will not be given execute or full control.
    However if a user creates the file himself it will work...
    So just always change permissions after creating a file on windows

    Change the permissions for Allusers of the application
    The Everyone Group
    Full access

    http://timgolden.me.uk/python/win32_how_do_i/add-security-to-a-file.html

def set_windows_permissions(filename):
    '''
    At least on windows 7 if a file is created on an Admin account,
    Other users will not be given execute or full control.
    However if a user creates the file himself it will work...
    So just always change permissions after creating a file on windows

    Change the permissions for Allusers of the application
    The Everyone Group
    Full access

    http://timgolden.me.uk/python/win32_how_do_i/add-security-to-a-file.html
    '''
    #Todo rename this to allow_all, also make international not just for english..
    if os.name == 'nt':
        try:
            everyone, domain, type = win32security.LookupAccountName(
            "", "Everyone")
        except Exception:
            # Todo fails on non english langauge systesm ... FU WINDOWS
            # Just allow permission for the current user then...
            everyone, domain, type = win32security.LookupAccountName ("", win32api.GetUserName())
        # ~ user, domain, type = win32security.LookupAccountName ("", win32api.GetUserName())
        #~ userx, domain, type = win32security.LookupAccountName ("", "User")
        #~ usery, domain, type = win32security.LookupAccountName ("", "User Y")

        sd = win32security.GetFileSecurity(
            filename,
            win32security.DACL_SECURITY_INFORMATION)
        # instead of dacl = win32security.ACL()
        dacl = sd.GetSecurityDescriptorDacl()

        #~ dacl.AddAccessAllowedAce(win32security.ACL_REVISION, con.FILE_GENERIC_READ | con.FILE_GENERIC_WRITE, everyone)
        #~ dacl.AddAccessAllowedAce(win32security.ACL_REVISION, con.FILE_ALL_ACCESS, user)
        dacl.AddAccessAllowedAce(
            win32security.ACL_REVISION,
            con.FILE_ALL_ACCESS,
            everyone)

        sd.SetSecurityDescriptorDacl(1, dacl, 0)   # may not be necessary
        win32security.SetFileSecurity(
            filename,
            win32security.DACL_SECURITY_INFORMATION,
            sd)