On Tuesday 06 May 2008, Linos wrote: > Phil do you have for download the source of the windows installer? this way > i could compile to have an installer without that problem. > > Regards, > Miguel Angel.
Attached is the installer source. Phil
# PyQt4 NSIS installer script. # # @BS_LICENSE@ # These will change with different releases. !define PYQT_VERSION "@RM_LATEST@" !define PYQT_INSTALLER "1" !define PYQT_LICENSE "GPL" !define PYQT_LICENSE_LC "gpl" !define PYQT_PYTHON_MINOR "5" !define PYQT_QT_VERSION "4.4.0" !define PYQT_QT_DOC_VERSION "4.4" # These are all derived from the above. !define PYQT_NAME "PyQt ${PYQT_LICENSE} v${PYQT_VERSION}" !define PYQT_FULL_NAME "${PYQT_NAME}-${PYQT_INSTALLER}" !define PYQT_FULL_VERSION "${PYQT_VERSION}-${PYQT_INSTALLER}" !define PYQT_INSTALLDIR "C:\Python2${PYQT_PYTHON_MINOR}\" !define PYQT_PYTHON_VERS "2.${PYQT_PYTHON_MINOR}" !define PYQT_PYTHON_HKLM "Software\Python\PythonCore\${PYQT_PYTHON_VERS}\InstallPath" !define PYQT_QT_DIR "C:\Qt\${PYQT_QT_VERSION}-${PYQT_LICENSE_LC}-static" # Tweak some of the standard pages. !define MUI_WELCOMEPAGE_TEXT \ "This wizard will guide you through the installation of ${PYQT_FULL_NAME}.\r\n\ \r\n\ This copy of PyQt has been built against Python v${PYQT_PYTHON_VERS}.x and \ includes Qt v${PYQT_QT_VERSION}.\r\n\ \r\n\ Any code you write must be released under a license that is compatible with \ the GPL.\r\n\ \r\n\ Click Next to continue." !define MUI_FINISHPAGE_LINK "Get the latest news of PyQt here" !define MUI_FINISHPAGE_LINK_LOCATION "http://www.riverbankcomputing.com" # Include the tools we use. !include MUI.nsh !include LogicLib.nsh # Define the product name and installer executable. Name "PyQt" Caption "${PYQT_FULL_NAME} Setup" OutFile "PyQt-Py2.${PYQT_PYTHON_MINOR}-${PYQT_LICENSE_LC}-${PYQT_FULL_VERSION}.exe" # Set the install directory, from the registry if possible. InstallDir "${PYQT_INSTALLDIR}" InstallDirRegKey HKLM "${PYQT_PYTHON_HKLM}" "" # The different installation types. "Full" is everything. "Minimal" is the # runtime environment. InstType "Full" InstType "Minimal" # Maximum compression. SetCompressor /SOLID lzma # We want the user to confirm they want to cancel. !define MUI_ABORTWARNING Function .onInit # Check the right version of Python has been installed. ReadRegStr $0 HKLM "${PYQT_PYTHON_HKLM}" "" ${If} $0 == "" MessageBox MB_YESNO|MB_ICONQUESTION \ "This copy of PyQt has been built against Python v${PYQT_PYTHON_VERS}.x which \ doesn't seem to be installed.$\r$\n\ $\r$\n\ Do you with to continue with the installation?" IDYES GotPython Abort GotPython: ${Endif} FunctionEnd # Define the different pages. !insertmacro MUI_PAGE_WELCOME !insertmacro MUI_PAGE_LICENSE "LICENSE" !insertmacro MUI_PAGE_COMPONENTS !insertmacro MUI_PAGE_DIRECTORY !insertmacro MUI_PAGE_INSTFILES !insertmacro MUI_PAGE_FINISH !insertmacro MUI_UNPAGE_CONFIRM !insertmacro MUI_UNPAGE_INSTFILES # Other settings. !insertmacro MUI_LANGUAGE "English" # Installer sections. Section "Extension modules" SecModules SectionIn 1 2 RO # Install the MSVC C++ runtime if it isn't already installed. SetOverwrite off SetOutPath $SYSDIR File C:\WINDOWS\system32\msvcp71.dll # Make sure this is clean and tidy. RMDir /r $PROGRAMFILES\PyQt4 CreateDirectory $PROGRAMFILES\PyQt4 SetOverwrite on # We have to take the SIP files from where they should have been installed. SetOutPath $INSTDIR\Lib\site-packages File "${PYQT_INSTALLDIR}Lib\site-packages\sip.pyd" SetOutPath $INSTDIR\Lib\site-packages\PyQt4 File .\LICENSE File .\GPL_EXCEPTION.TXT File .\GPL_EXCEPTION_ADDENDUM.TXT File .\OPENSOURCE-NOTICE.TXT File .\__init__.py File .\_qt\_qt.pyd File .\phonon\phonon.pyd File .\Qt\Qt.pyd File .\QtAssistant\QtAssistant.pyd File .\QtCore\QtCore.pyd File .\QtGui\QtGui.pyd File .\QtHelp\QtHelp.pyd File .\QtNetwork\QtNetwork.pyd File .\QtOpenGL\QtOpenGL.pyd File .\QtScript\QtScript.pyd File .\QtSql\QtSql.pyd File .\QtSvg\QtSvg.pyd File .\QtTest\QtTest.pyd File .\QtWebKit\QtWebKit.pyd File .\QtXml\QtXml.pyd File .\QtXmlPatterns\QtXmlPatterns.pyd File .\Qsci\Qsci.pyd File /r .\pyuic\uic File /r .\PyQt4\Qwt5 SetOutPath $INSTDIR\Lib\site-packages\PyQt4\Qwt5 File .\Qwt5\Qwt.pyd # Other runtime files. SetOutPath $INSTDIR\PyQt4 File /r .\PyQt4\translations File /r .\PyQt4\qsci # Write the Qt path file. FileOpen $0 $INSTDIR\qt.conf w FileWrite $0 "[Paths]$\r$\nPrefix = PyQt4$\r$\n" FileClose $0 SectionEnd Section "Developer tools" SecTools SectionIn 1 SetOverwrite on SetOutPath $INSTDIR File .\pylupdate\pylupdate4.exe File .\pyrcc\pyrcc4.exe File .\pyuic\pyuic4.bat File "${PYQT_QT_DIR}\bin\assistant.exe" File "${PYQT_QT_DIR}\bin\designer.exe" File "${PYQT_QT_DIR}\bin\linguist.exe" File "${PYQT_QT_DIR}\bin\lrelease.exe" SectionEnd Section "eric IDE" SecEric SectionIn 1 SetOverwrite on SetOutPath $INSTDIR\Lib\site-packages File /r "${PYQT_INSTALLDIR}Lib\site-packages\eric4" File "${PYQT_INSTALLDIR}Lib\site-packages\eric4config.py" SetOutPath $INSTDIR File "${PYQT_INSTALLDIR}eric4.bat" File "${PYQT_INSTALLDIR}eric4-api.bat" File "${PYQT_INSTALLDIR}eric4-compare.bat" File "${PYQT_INSTALLDIR}eric4-configure.bat" File "${PYQT_INSTALLDIR}eric4-diff.bat" File "${PYQT_INSTALLDIR}eric4-doc.bat" File "${PYQT_INSTALLDIR}eric4-helpviewer.bat" File "${PYQT_INSTALLDIR}eric4-qregexp.bat" File "${PYQT_INSTALLDIR}eric4-re.bat" File "${PYQT_INSTALLDIR}eric4-tray.bat" File "${PYQT_INSTALLDIR}eric4-trpreviewer.bat" File "${PYQT_INSTALLDIR}eric4-uipreviewer.bat" File "${PYQT_INSTALLDIR}eric4-unittest.bat" SectionEnd Section "Documentation" SecDocumentation SectionIn 1 SetOverwrite on SetOutPath $PROGRAMFILES\PyQt4 File /r .\doc SectionEnd Section "Examples and tutorial" SecExamples SectionIn 1 SetOverwrite on SetOutPath $PROGRAMFILES\PyQt4 File /r .\examples File /r .\PyQt4\pyqwtexamples SectionEnd Section "Start Menu shortcuts" SecShortcuts SectionIn 1 # Make sure this is clean and tidy. RMDir /r "$SMPROGRAMS\${PYQT_NAME}" CreateDirectory "$SMPROGRAMS\${PYQT_NAME}" IfFileExists "$INSTDIR\assistant.exe" 0 +4 CreateShortCut "$SMPROGRAMS\${PYQT_NAME}\Qt Assistant.lnk" "$INSTDIR\assistant.exe" CreateShortCut "$SMPROGRAMS\${PYQT_NAME}\Qt Designer.lnk" "$INSTDIR\designer.exe" CreateShortCut "$SMPROGRAMS\${PYQT_NAME}\Qt Linguist.lnk" "$INSTDIR\Linguist.exe" IfFileExists "$INSTDIR\Lib\site-packages\eric4\eric4.pyw" 0 +1 CreateShortCut "$SMPROGRAMS\${PYQT_NAME}\eric IDE.lnk" "$INSTDIR\Lib\site-packages\eric4\eric4.pyw" IfFileExists "$PROGRAMFILES\PyQt4\doc" 0 +7 CreateDirectory "$SMPROGRAMS\${PYQT_NAME}\Documentation" CreateShortCut "$SMPROGRAMS\${PYQT_NAME}\Documentation\PyQt Documentation.lnk" "$PROGRAMFILES\PyQt4\doc\pyqt4ref.html" CreateShortCut "$SMPROGRAMS\${PYQT_NAME}\Documentation\PyQt API Reference.lnk" "$PROGRAMFILES\PyQt4\doc\html\classes.html" CreateShortCut "$SMPROGRAMS\${PYQT_NAME}\Documentation\Qt Documentation.lnk" "http://doc.trolltech.com/${PYQT_QT_DOC_VERSION}/" CreateShortCut "$SMPROGRAMS\${PYQT_NAME}\Documentation\PyQwt Documentation.lnk" "http://pyqwt.sourceforge.net/doc5/pyqwt.html" CreateShortCut "$SMPROGRAMS\${PYQT_NAME}\Documentation\Qwt Documentation.lnk" "http://qwt.sourceforge.net/" IfFileExists "$PROGRAMFILES\PyQt4\examples" 0 +7 CreateDirectory "$SMPROGRAMS\${PYQT_NAME}\Examples" SetOutPath $PROGRAMFILES\PyQt4\examples\tools\qtdemo CreateShortCut "$SMPROGRAMS\${PYQT_NAME}\Examples\PyQt Examples and Demos.lnk" "$PROGRAMFILES\PyQt4\examples\tools\qtdemo\qtdemo.pyw" SetOutPath $INSTDIR CreateShortCut "$SMPROGRAMS\${PYQT_NAME}\Examples\PyQt Examples Source.lnk" "$PROGRAMFILES\PyQt4\examples" CreateShortCut "$SMPROGRAMS\${PYQT_NAME}\Examples\PyQwt Examples Source.lnk" "$PROGRAMFILES\PyQt4\pyqwtexamples" CreateDirectory "$SMPROGRAMS\${PYQT_NAME}\Links" CreateShortCut "$SMPROGRAMS\${PYQT_NAME}\Links\PyQt Book.lnk" "http://www.qtrac.eu/pyqtbook.html" CreateShortCut "$SMPROGRAMS\${PYQT_NAME}\Links\PyQt Homepage.lnk" "http://www.riverbankcomputing.com/software/pyqt/" CreateShortCut "$SMPROGRAMS\${PYQT_NAME}\Links\Qt Homepage.lnk" "http://www.trolltech.com/" CreateShortCut "$SMPROGRAMS\${PYQT_NAME}\Links\QScintilla Homepage.lnk" "http://www.riverbankcomputing.com/software/qscintilla/" CreateShortCut "$SMPROGRAMS\${PYQT_NAME}\Links\PyQwt Homepage.lnk" "http://pyqwt.sourceforge.net/" CreateShortCut "$SMPROGRAMS\${PYQT_NAME}\Links\Qwt Homepage.lnk" "http://qwt.sourceforge.net/" CreateShortCut "$SMPROGRAMS\${PYQT_NAME}\Links\eric Homepage.lnk" "http://www.die-offenbachs.de/eric/index.html" CreateShortCut "$SMPROGRAMS\${PYQT_NAME}\Uninstall PyQt.lnk" "$PROGRAMFILES\PyQt4\Uninstall.exe" SectionEnd Section -post # Tell Windows about the package. WriteRegExpandStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\PyQt4" "UninstallString" '"$PROGRAMFILES\PyQt4\Uninstall.exe"' WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\PyQt4" "DisplayName" "${PYQT_NAME}" WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\PyQt4" "DisplayVersion" "${PYQT_FULL_VERSION}" WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\PyQt4" "NoModify" "1" WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\PyQt4" "NoRepair" "1" # Save the installation directory for the uninstaller. WriteRegStr HKLM "Software\PyQt4" "" $INSTDIR # Create the uninstaller. WriteUninstaller "$PROGRAMFILES\PyQt4\Uninstall.exe" SectionEnd # Section description text. !insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN !insertmacro MUI_DESCRIPTION_TEXT ${SecModules} \ "The PyQt, PyQwt and QScintilla extension modules." !insertmacro MUI_DESCRIPTION_TEXT ${SecTools} \ "The PyQt and Qt developer tools: QtAssistant, Qt Designer, Qt Linguist, \ pyuic4, pyrcc4 and pylupdate4." !insertmacro MUI_DESCRIPTION_TEXT ${SecEric} \ "The eric IDE." !insertmacro MUI_DESCRIPTION_TEXT ${SecDocumentation} \ "The PyQt and related documentation." !insertmacro MUI_DESCRIPTION_TEXT ${SecExamples} \ "Ports to Python of the standard Qt v4 examples and tutorial." !insertmacro MUI_DESCRIPTION_TEXT ${SecShortcuts} \ "This adds shortcuts to your Start Menu." !insertmacro MUI_FUNCTION_DESCRIPTION_END Section "Uninstall" # Get the install directory. ReadRegStr $INSTDIR HKLM "Software\PyQt4" "" # The modules section. Delete $INSTDIR\Lib\site-packages\sip.pyd RMDir /r $INSTDIR\Lib\site-packages\PyQt4 RMDir /r $INSTDIR\PyQt4 Delete $INSTDIR\qt.conf # The shortcuts section. RMDir /r "$SMPROGRAMS\${PYQT_NAME}" # The tools section. Delete $INSTDIR\pylupdate4.exe Delete $INSTDIR\pyrcc4.exe Delete $INSTDIR\pyuic4.bat Delete $INSTDIR\assistant.exe Delete $INSTDIR\designer.exe Delete $INSTDIR\linguist.exe Delete $INSTDIR\lrelease.exe # The eric section. Delete $INSTDIR\Lib\site-packages\eric4 Delete $INSTDIR\Lib\site-packages\eric4config.py Delete $INSTDIR\eric4.bat Delete $INSTDIR\eric4-api.bat Delete $INSTDIR\eric4-compare.bat Delete $INSTDIR\eric4-configure.bat Delete $INSTDIR\eric4-diff.bat Delete $INSTDIR\eric4-doc.bat Delete $INSTDIR\eric4-helpviewer.bat Delete $INSTDIR\eric4-qregexp.bat Delete $INSTDIR\eric4-re.bat Delete $INSTDIR\eric4-tray.bat Delete $INSTDIR\eric4-trpreviewer.bat Delete $INSTDIR\eric4-uipreviewer.bat Delete $INSTDIR\eric4-unittest.bat # The examples section and the installer itself. RMDir /r "$PROGRAMFILES\PyQt4" # Clean the registry. DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\PyQt4" DeleteRegKey HKLM "Software\PyQt4" SectionEnd
_______________________________________________ PyQt mailing list PyQt@riverbankcomputing.com http://www.riverbankcomputing.com/mailman/listinfo/pyqt