[Setup] AppName=Twisted (Python %(pyversion)s) OutputDir=dist OutputBaseFilename=%(outputbasefilename)s AppVerName=Twisted %(twversion)s (Python %(pyversion)s) AppPublisher=Twisted Matrix Laboratories AppPublisherURL=http://twistedmatrix.com/ AppSupportURL=http://twistedmatrix.com/ AppUpdatesURL=http://twistedmatrix.com/ DefaultDirName={code:pythonRegKey}\lib\site-packages DisableDirPage=yes DefaultGroupName=Twisted (Python %(pyversion)s) DisableProgramGroupPage=yes PrivilegesRequired=admin UninstallFilesDir={code:pythonRegKey} [Files] Source: "%(twhome)s\build\lib.win32-%(pyversion)s\*.*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs %(docfile)s Source: "%(twhome)s\build\scripts-%(pyversion)s\*.*"; DestDir: "{code:pythonRegKey}\scripts"; Flags: ignoreversion recursesubdirs Source: "win32\twistenv.bat"; DestDir: "{app}\twisted"; Flags: ignoreversion %(datafiles)s [UninstallDelete] ; *.pyc keeps this directory around Type: filesandordirs; Name: "{app}\twisted" Type: filesandordirs; Name: "{app}\TwistedDocs" [Icons] Name: "{group}\Manual"; Filename: "{app}\TwistedDocs\howto\index.xhtml" Name: "{group}\API Documentation"; Filename: "{app}\TwistedDocs\api\index.html" Name: "{group}\Twisted Command Prompt"; Filename: "{cmd}"; Parameters: "/k {app}\twisted\twistenv.bat {code:pythonRegKey}\scripts"; WorkingDir: "{sd}\" Name: "{group}\Application Maker"; Filename: "{code:pythonRegKey}\scripts\tkmktap.py" Name: "{group}\TkConch (ssh)"; Filename: "{code:pythonRegKey}\scripts\tkconch.py" Name: "{group}\Uninstall {groupname}"; Filename: "{uninstallexe}" [Run] Filename: "{code:pythonRegKey}\pythonw.exe"; Parameters: "{code:pythonRegKey}\scripts\twisted_postinstall.py" [Code] function pythonRegKey(Default : String): String; begin {try HKLM first and then fall back to HKCU for location of Python} Result := ExpandConstant('{reg:HKLM\Software\Python\PythonCore\%(pyversion)s\InstallPath,|ACK}') if CompareStr(Result, 'ACK')=0 then Result := ExpandConstant('{reg:HKCU\Software\Python\PythonCore\%(pyversion)s\InstallPath,|ACK}'); end; function InitializeSetup(): Boolean; begin Result := True; if CompareStr(pythonRegKey('ACK'), 'ACK')=0 then begin MsgBox('Python does not appear to be installed.' #13#13 'Please install Python before attempting to install Twisted.', mbCriticalError, MB_OK); Result:=False; end; end; { InitializeSetup }