-
Notifications
You must be signed in to change notification settings - Fork 54
Fix: Bugs in windows installer #3061
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -213,6 +213,8 @@ SectionGroup "!core" core | |
|
|
||
| Section "binaries" bin | ||
|
|
||
| SectionIn 1 2 3 | ||
|
|
||
| Call install_core_pre | ||
|
|
||
| SetOutPath ${BINDIR} | ||
|
|
@@ -235,61 +237,29 @@ SectionGroup "!core" core | |
| SectionEnd | ||
|
|
||
| Section "add to PATH" appendpath | ||
| ${IfNot} for AllUsers ? | ||
| ${AddToEnv} "PATH" "${BINDIR}" | ||
| ${EndIf} | ||
| SectionIn 1 2 | ||
| ${AddToEnv} "PATH" "${BINDIR}" | ||
| SectionEnd | ||
|
|
||
| SectionGroupEnd ; core | ||
|
|
||
| SectionGroup devices devices | ||
| SectionGroup tdi tdidevices | ||
| Section KBSI | ||
| SectionIn 2 | ||
| SetOutPath "$INSTDIR\tdi" | ||
| File /r tdi/KbsiDevices | ||
| SectionEnd ; KBSI | ||
| Section MIT | ||
| SectionIn 2 | ||
| SetOutPath "$INSTDIR\tdi" | ||
| File /r tdi/MitDevices | ||
| SectionEnd ; MIT | ||
| Section RFX | ||
| SectionIn 2 | ||
| SetOutPath "$INSTDIR\tdi" | ||
| File /r tdi/RfxDevices | ||
| SectionEnd ; RFX | ||
| SectionGroupEnd ; tdi | ||
| SectionGroup pydevices pydevices | ||
| Section HTS pydevices_hts | ||
| SectionIn 2 | ||
| SetOutPath "$INSTDIR\pydevices\HtsDevices" | ||
| File /r "pydevices/HtsDevices/*" | ||
| SectionEnd ; HTS | ||
| Section MIT pydevices_mit | ||
| SectionIn 2 | ||
| SetOutPath "$INSTDIR\pydevices\MitDevices" | ||
| File /r "pydevices/MitDevices/*" | ||
| File pydevices/MitDevices/_version.py | ||
| SectionEnd ; MIT | ||
| Section RFX pydevices_rfx | ||
| SectionIn 2 | ||
| SetOutPath "$INSTDIR\pydevices\RfxDevices" | ||
| File /r "pydevices/RfxDevices/*" | ||
| File pydevices/RfxDevices/_version.py | ||
| SectionEnd ; RFX | ||
| Section W7X pydevices_w7x | ||
| SectionIn 2 | ||
| SetOutPath "$INSTDIR\pydevices\W7xDevices" | ||
| File /r "pydevices/W7xDevices/*" | ||
| File pydevices/W7xDevices/_version.py | ||
| SectionEnd ; W7X | ||
| Section "setup MDS_PYDEVICE_PATH" pydevpath | ||
| SectionIn 2 RO | ||
| ${AddToEnv} "MDS_PYDEVICE_PATH" "${MDS_PYDEVICE_PATH}" | ||
| SectionEnd ; pydevpath | ||
| SectionGroupEnd ; pydevices | ||
| SectionGroupEnd ; devices | ||
| SectionGroup "tdi devices" tdidevices | ||
| Section KBSI | ||
| SectionIn 2 | ||
| SetOutPath "$INSTDIR\tdi" | ||
| File /r tdi/KbsiDevices | ||
| SectionEnd ; KBSI | ||
| Section MIT | ||
| SectionIn 2 | ||
| SetOutPath "$INSTDIR\tdi" | ||
| File /r tdi/MitDevices | ||
| SectionEnd ; MIT | ||
| Section RFX | ||
| SectionIn 2 | ||
| SetOutPath "$INSTDIR\tdi" | ||
| File /r tdi/RfxDevices | ||
| SectionEnd ; RFX | ||
| SectionGroupEnd ; tdi | ||
|
|
||
| SectionGroup "site specifics" | ||
| Section D3D d3d | ||
|
|
@@ -313,7 +283,7 @@ Section "java tools" java | |
| !insertmacro MUI_STARTMENU_WRITE_END | ||
| SectionEnd ; java | ||
|
|
||
| SectionGroup /e "!APIs" apis | ||
| SectionGroup "APIs" apis | ||
| Section EPICS epics | ||
| SectionIn 2 | ||
| SetOutPath "$INSTDIR\epics" | ||
|
|
@@ -352,13 +322,42 @@ SectionGroup /e "!APIs" apis | |
| SetOutPath "$INSTDIR\matlab" | ||
| File /r "matlab/*" | ||
| SectionEnd ; MATLAB | ||
| SectionGroup /e "!python" python | ||
| Section "!MDSplus package" python_cp | ||
| SectionGroup "python" python | ||
| Section "MDSplus package" python_cp | ||
| SectionIn 1 2 | ||
| SetOutPath "$INSTDIR\python\MDSplus" | ||
| File /x modpython.py /x setup.py "python/MDSplus/*.py" python/MDSplus/pyproject.toml | ||
| File python/MDSplus/_version.py | ||
| SectionEnd ; python_cp | ||
| SectionGroup pydevices pydevices | ||
| Section HTS pydevices_hts | ||
| SectionIn 2 | ||
| SetOutPath "$INSTDIR\pydevices\HtsDevices" | ||
| File /r "pydevices/HtsDevices/*" | ||
| SectionEnd ; HTS | ||
| Section MIT pydevices_mit | ||
| SectionIn 2 | ||
| SetOutPath "$INSTDIR\pydevices\MitDevices" | ||
| File /r "pydevices/MitDevices/*" | ||
| File pydevices/MitDevices/_version.py | ||
| SectionEnd ; MIT | ||
| Section RFX pydevices_rfx | ||
| SectionIn 2 | ||
| SetOutPath "$INSTDIR\pydevices\RfxDevices" | ||
| File /r "pydevices/RfxDevices/*" | ||
| File pydevices/RfxDevices/_version.py | ||
| SectionEnd ; RFX | ||
| Section W7X pydevices_w7x | ||
| SectionIn 2 | ||
| SetOutPath "$INSTDIR\pydevices\W7xDevices" | ||
| File /r "pydevices/W7xDevices/*" | ||
| File pydevices/W7xDevices/_version.py | ||
| SectionEnd ; W7X | ||
| Section "setup MDS_PYDEVICE_PATH" pydevpath | ||
| SectionIn 2 RO | ||
| ${AddToEnv} "MDS_PYDEVICE_PATH" "${MDS_PYDEVICE_PATH}" | ||
| SectionEnd ; pydevpath | ||
| SectionGroupEnd ; pydevices | ||
| Section "WSGI" python_wsgi | ||
| SectionIn 2 | ||
| SetOutPath "$INSTDIR\python\MDSplus" | ||
|
|
@@ -442,12 +441,11 @@ SectionEnd | |
| !insertmacro MUI_DESCRIPTION_TEXT ${core} "Install binaries and kernel tdi functions." | ||
| !insertmacro MUI_DESCRIPTION_TEXT ${bin} "Copy binaries." | ||
| !insertmacro MUI_DESCRIPTION_TEXT ${appendpath} "Add '.\bin*' to user's PATH env." | ||
| !insertmacro MUI_DESCRIPTION_TEXT ${devices} "Copy device classes implemented in tdi or as pydevices" | ||
| !insertmacro MUI_DESCRIPTION_TEXT ${tdidevices} "Copy device classes implemented in tdi to '.\tdi'" | ||
| !insertmacro MUI_DESCRIPTION_TEXT ${pydevices} "Copy python device classes to '.\pydevices'" | ||
| !insertmacro MUI_DESCRIPTION_TEXT ${pydevpath} "Add '.\pydevices' to MDS_PYDEVICE_PATH env." | ||
| !insertmacro MUI_DESCRIPTION_TEXT ${d3d} "Copy site-specific tdi routines to '.\tdi\d3d'" | ||
| ; !insertmacro MUI_DESCRIPTION_TEXT ${java} "Copy jTraverser, jTraverser2, jScope, etc. to '.\java\classes'" | ||
| !insertmacro MUI_DESCRIPTION_TEXT ${java} "Copy jTraverser, jTraverser2, jScope, etc. to '.\java\classes'" | ||
| !insertmacro MUI_DESCRIPTION_TEXT ${epics} "Copy EPICS Plugin to './epics'" | ||
| !insertmacro MUI_DESCRIPTION_TEXT ${idl} "Copy IDL Plugin to './idl'" | ||
| !insertmacro MUI_DESCRIPTION_TEXT ${LabView} "Older versions of LabView are available on github.com" | ||
|
|
@@ -475,61 +473,61 @@ SectionEnd | |
|
|
||
|
|
||
| ### BEGIN SECTION LOGIC ### | ||
| Function .onSelChange | ||
| ; pydevices depend on python | ||
| ${If} $0 == ${apis} | ||
| ${OrIf} $0 == ${python} | ||
| ${OrIf} $0 == ${python_cp} | ||
| ${IfNot} $0 is ${SF_SELECTED} | ||
| ${AndIfNot} $0 is ${SF_PSELECTED} | ||
| ${UnselectSection} ${pydevices} | ||
| ${UnselectSection} ${python_mod} | ||
| ${UnselectSection} ${python_pp} | ||
| ${UnselectSection} ${python_su} | ||
| ${UnselectSection} ${python_comp} | ||
| ${UnselectSection} ${python_wdg} | ||
| ${UnselectSection} ${python_wsgi} | ||
| ${EndIf} | ||
| ${ElseIf} $0 == ${devices} | ||
| ${OrIf} $0 == ${pydevices} | ||
| ${If} $0 is ${SF_SELECTED} | ||
| ${OrIf} $0 is ${SF_PSELECTED} | ||
| ${ClearSectionFlag} ${pydevpath} ${SF_RO} | ||
| ${SelectSection} ${pydevpath} | ||
| ${SelectSection} ${python_cp} | ||
| ${Else} | ||
| Goto lock_pydevpath | ||
| ${EndIf} | ||
| ${ElseIf} $0 == ${pydevices_hts} | ||
| ${OrIf} $0 == ${pydevices_mit} | ||
| ${OrIf} $0 == ${pydevices_rfx} | ||
| ${OrIf} $0 == ${pydevices_w7x} | ||
| ${IfNot} $R0 is ${SF_SELECTED} | ||
| ${AndIfNot} ${pydevices_hts} is ${SF_SELECTED} | ||
| ${AndIfNot} ${pydevices_mit} is ${SF_SELECTED} | ||
| ${AndIfNot} ${pydevices_rfx} is ${SF_SELECTED} | ||
| ${AndIfNot} ${pydevices_w7x} is ${SF_SELECTED} | ||
| lock_pydevpath: | ||
| ${UnselectSection} ${pydevpath} | ||
| ${SetSectionFlag} ${pydevpath} ${SF_RO} | ||
| ${Else} ;unlock_pydevpath: | ||
| ${ClearSectionFlag} ${pydevpath} ${SF_RO} | ||
| ${SelectSection} ${python_cp} | ||
| ${EndIf} | ||
| ${ElseIf} $0 == ${python_mod} | ||
| ${OrIf} $0 == ${python_pp} | ||
| ${If} $0 is ${SF_SELECTED} | ||
| ${SelectSection} ${python_cp} | ||
| ${EndIf} | ||
| ${ElseIf} $0 == ${python_su} | ||
| ${OrIf} $0 == ${python_comp} | ||
| ${OrIf} $0 == ${python_wdg} | ||
| ${OrIf} $0 == ${python_wsgi} | ||
| ${If} $0 is ${SF_SELECTED} | ||
| ${SelectSection} ${python_cp} | ||
| ${EndIf} | ||
| ${EndIf} | ||
| FunctionEnd | ||
| ; Function .onSelChange | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Perhaps add a comment to explain why this function was commented out and retained? Alternatively, delete the commented function?
Member
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. So long as we go through a release cycle and people are happy with the change, I'll probably remove it shortly |
||
| ; ; pydevices depend on python | ||
| ; ${If} $0 == ${apis} | ||
| ; ${OrIf} $0 == ${python} | ||
| ; ${OrIf} $0 == ${python_cp} | ||
| ; ${IfNot} $0 is ${SF_SELECTED} | ||
| ; ${AndIfNot} $0 is ${SF_PSELECTED} | ||
| ; ${UnselectSection} ${pydevices} | ||
| ; ${UnselectSection} ${python_mod} | ||
| ; ${UnselectSection} ${python_pp} | ||
| ; ${UnselectSection} ${python_su} | ||
| ; ${UnselectSection} ${python_comp} | ||
| ; ${UnselectSection} ${python_wdg} | ||
| ; ${UnselectSection} ${python_wsgi} | ||
| ; ${EndIf} | ||
| ; ${ElseIf} $0 == ${devices} | ||
| ; ${OrIf} $0 == ${pydevices} | ||
| ; ${If} $0 is ${SF_SELECTED} | ||
| ; ${OrIf} $0 is ${SF_PSELECTED} | ||
| ; ${ClearSectionFlag} ${pydevpath} ${SF_RO} | ||
| ; ${SelectSection} ${pydevpath} | ||
| ; ${SelectSection} ${python_cp} | ||
| ; ${Else} | ||
| ; Goto lock_pydevpath | ||
| ; ${EndIf} | ||
| ; ${ElseIf} $0 == ${pydevices_hts} | ||
| ; ${OrIf} $0 == ${pydevices_mit} | ||
| ; ${OrIf} $0 == ${pydevices_rfx} | ||
| ; ${OrIf} $0 == ${pydevices_w7x} | ||
| ; ${IfNot} $R0 is ${SF_SELECTED} | ||
| ; ${AndIfNot} ${pydevices_hts} is ${SF_SELECTED} | ||
| ; ${AndIfNot} ${pydevices_mit} is ${SF_SELECTED} | ||
| ; ${AndIfNot} ${pydevices_rfx} is ${SF_SELECTED} | ||
| ; ${AndIfNot} ${pydevices_w7x} is ${SF_SELECTED} | ||
| ; lock_pydevpath: | ||
| ; ${UnselectSection} ${pydevpath} | ||
| ; ${SetSectionFlag} ${pydevpath} ${SF_RO} | ||
| ; ${Else} ;unlock_pydevpath: | ||
| ; ${ClearSectionFlag} ${pydevpath} ${SF_RO} | ||
| ; ${SelectSection} ${python_cp} | ||
| ; ${EndIf} | ||
| ; ${ElseIf} $0 == ${python_mod} | ||
| ; ${OrIf} $0 == ${python_pp} | ||
| ; ${If} $0 is ${SF_SELECTED} | ||
| ; ${SelectSection} ${python_cp} | ||
| ; ${EndIf} | ||
| ; ${ElseIf} $0 == ${python_su} | ||
| ; ${OrIf} $0 == ${python_comp} | ||
| ; ${OrIf} $0 == ${python_wdg} | ||
| ; ${OrIf} $0 == ${python_wsgi} | ||
| ; ${If} $0 is ${SF_SELECTED} | ||
| ; ${SelectSection} ${python_cp} | ||
| ; ${EndIf} | ||
| ; ${EndIf} | ||
| ; FunctionEnd | ||
| ### END SECTION LOGIC ### | ||
|
|
||
|
|
||
|
|
@@ -573,7 +571,9 @@ Function Init | |
| ${ReadEnv} $INSTDIR MDSPLUS_DIR | ||
| ${EndIf} | ||
| Pop $R0 | ||
| SectionSetInstTypes ${bin} 7 ; always include binaries | ||
| IntOp $0 ${SF_SELECTED} | ${SF_RO} | ||
| SectionSetFlags ${bin} $0 | ||
| SectionSetInstTypes ${bin} 7 ; always include binaries (1 | 3 | 5) | ||
| ${If} for AllUsers ? | ||
| ${If} `$INSTDIR` == "" | ||
| ${If} ${RunningX64} ; 64 bit system | ||
|
|
@@ -586,7 +586,8 @@ Function Init | |
| StrCpy $INSTDIR $PROGRAMFILES32\MDSplus | ||
| ${EndIf} | ||
| ${EndIf} | ||
| SectionSetFlags ${appendpath} ${SF_RO} | ||
| ${SelectSection} ${appendpath} | ||
| ; SectionSetFlags ${appendpath} ${SF_RO} | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Should this commented line be deleted?
Member
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I'm going to leave them for now, but they can definitely be removed next time someone works on this |
||
| ${Else} | ||
| ${If} $INSTDIR == "" | ||
| StrCpy $INSTDIR $PROFILE\MDSplus | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Minimal install does not append the path (i.e., append is only for "1 2" -- Typical and Full -- installs). Likely is A-OK to exclude Minimal, but am flagging this just to make sure it isn't an oversight.