Changeset 39:9d04ac37db89


Ignore:
Timestamp:
03/08/12 15:41:55 (12 years ago)
Author:
István Váradi <ivaradi@…>
Branch:
default
Phase:
public
Message:

Running mlxupdate.exe via ShellExecute in Windows, so that the UAC dialog pops up properly

Files:
2 edited

Legend:

Unmodified
Added
Removed
  • MLXMANIFEST

    r38 r39  
    1 update1.txt     6       09f7e02f1290be211da707a266f153b3
    21runmlx.exe      64000   48360723d8abcd080cddcfb690daef60
     2newdir/update2.txt      29      42f4b2fbb107747f2aff8969bfe5b648
  • src/mlx/update.py

    r38 r39  
    1212import subprocess
    1313import hashlib
     14
     15if os.name=="nt":
     16    import win32api
    1417
    1518#------------------------------------------------------------------------------
     
    426429        serverSocket.listen(1)
    427430
    428         process = subprocess.Popen([os.path.join(directory, "mlxupdate"),
    429                                     str(port), manifestFile],
    430                                    shell = os.name=="nt")
     431
     432        if os.name=="nt":
     433            win32api.ShellExecute(0, "open", os.path.join(directory, "mlxupdate"),
     434                                  str(port) + " " +  manifestFile, "", 1)
     435        else:
     436            process = subprocess.Popen([os.path.join(directory, "mlxupdate"),
     437                                        str(port), manifestFile],
     438                                       shell = os.name=="nt")
    431439
    432440        (mlxUpdateSocket, _) = serverSocket.accept()
     
    446454        mlxUpdateSocket = None
    447455
    448         process.wait()
     456        if os.name!="nt":
     457            process.wait()
     458       
    449459    except Exception, e:
    450460        print >> sys.stderr, "Failed updating:", str(e)
     
    490500    if fromGUI and not isDirectoryWritable(directory):
    491501        if listener.needSudo():
    492             sudoUpdate(directory, updateURL, listener,
    493                        updateManifest)
     502            sudoUpdate(directory, updateURL, listener, updateManifest)
    494503    else:
    495504        updateFiles(directory, updateURL, listener, updateManifest,
Note: See TracChangeset for help on using the changeset viewer.