Commit 754752f6 by Csók Tamás

client: nx client installation is optional, selenium fully depricated

parent c4902525
...@@ -17,7 +17,6 @@ ...@@ -17,7 +17,6 @@
!define AppUninstaller "Uninstall.exe" !define AppUninstaller "Uninstall.exe"
!define IconName "cloud" !define IconName "cloud"
!define Show_output "True" !define Show_output "True"
!define Install_selenium "False"
!define DefaulLocation "$LOCALAPPDATA\CIRCLE" !define DefaulLocation "$LOCALAPPDATA\CIRCLE"
;-------------------------------- ;--------------------------------
...@@ -67,6 +66,7 @@ ...@@ -67,6 +66,7 @@
;-------------------------------- ;--------------------------------
;Pages ;Pages
!insertmacro MUI_PAGE_LICENSE "gpl-3.0.txt" !insertmacro MUI_PAGE_LICENSE "gpl-3.0.txt"
!insertmacro MUI_PAGE_COMPONENTS
!insertmacro MUI_PAGE_DIRECTORY !insertmacro MUI_PAGE_DIRECTORY
!insertmacro MUI_PAGE_INSTFILES !insertmacro MUI_PAGE_INSTFILES
;Done fuction to launch install.bat ;Done fuction to launch install.bat
...@@ -146,12 +146,34 @@ ...@@ -146,12 +146,34 @@
!insertmacro MUI_RESERVEFILE_LANGDLL !insertmacro MUI_RESERVEFILE_LANGDLL
;-------------------------------- ;--------------------------------
;Languanges
;Language strings
LangString NAME_SecInstall ${LANG_ENGLISH} "CIRCLE Client"
LangString NAME_SecInstall ${LANG_HUNGARIAN} "CIRCLE Kliens"
LangString NAME_NXClient ${LANG_ENGLISH} "NoMachine NX Client"
LangString NAME_NXClient ${LANG_HUNGARIAN} "NoMachine NX Kliens"
LangString DESC_NXClient ${LANG_ENGLISH} "Check whether you want to install a CIRCLE compatible NX Client by NoMachine.$\r$\n\
Used for [NX] type of connections."
LangString DESC_NXClient ${LANG_HUNGARIAN} "Vlassza ki, ha fel szeretn telepteni a NoMachine ltal gyrtott NX Klienst.$\r$\n\
[NX] fle kapcsolatokhoz hasznlt."
LangString DESC_SecInstall ${LANG_ENGLISH} "Install the core of the CIRCLE Client.$\r$\n\
Used for [RDP / SSH] type of connections.$\r$\n\
Automates all installed, third party connection tools."
LangString DESC_SecInstall ${LANG_HUNGARIAN} "A CIRCLE Kliens alapjnak teleptse.$\r$\n\
[RDP / SSH] fle kapcsolatokhoz hasznlt.$\r$\n\
Automatizlja az installlt, harmadik fltl szrmaz szoftverek hasznlatt."
;--------------------------------
;Installer Sections ;Installer Sections
Section "Install Section" SecInstall Section $(NAME_SecInstall) SecInstall
SectionIn RO
SetOutPath "$INSTDIR" SetOutPath "$INSTDIR"
;ADD OWN FILES HERE---------------------------------------- ;ADD OWN FILES HERE----------------------------------------
File /r installer File /r /x *nxclient-3.5.0-9.exe /x *nx_client_installer.py installer
File /r uninstaller File /r uninstaller
;Store installation folder ;Store installation folder
...@@ -169,6 +191,12 @@ Section "Install Section" SecInstall ...@@ -169,6 +191,12 @@ Section "Install Section" SecInstall
CreateShortCut '$SMPROGRAMS\${Company}\${AppName}\Uninstall ${AppName}.lnk' '$INSTDIR\${AppUninstaller}' "" '$INSTDIR\${AppUninstaller}' 0 CreateShortCut '$SMPROGRAMS\${Company}\${AppName}\Uninstall ${AppName}.lnk' '$INSTDIR\${AppUninstaller}' "" '$INSTDIR\${AppUninstaller}' 0
SectionEnd SectionEnd
Section /o $(NAME_NXClient) NXClient
SetOutPath "$INSTDIR\installer"
File 'installer\nxclient-3.5.0-9.exe'
File 'installer\nx_client_installer.py'
SectionEnd
;-------------------------------- ;--------------------------------
;Installer Functions ;Installer Functions
Function .onInit Function .onInit
...@@ -182,21 +210,25 @@ Function .onInit ...@@ -182,21 +210,25 @@ Function .onInit
FunctionEnd FunctionEnd
Function Done Function Done
ExecWait '"$INSTDIR\installer\install.cmd" "$INSTDIR" ${Show_output} ${Install_selenium} "${AppUrl}" >"$INSTDIR\install.log" 2>"$INSTDIR\install_error.log"' SectionGetFlags ${NXClient} $0
Var /GLOBAL nx_install
IntOp $0 $0 & ${SF_SELECTED}
IntCmp $0 ${SF_SELECTED} equal
StrCpy $nx_install "False"
Goto done
equal:
StrCpy $nx_install "True"
done:
ExecWait '"$INSTDIR\installer\install.cmd" "$INSTDIR" ${Show_output} $nx_install "${AppUrl}" >"$INSTDIR\install.log" 2>"$INSTDIR\install_error.log"'
RMDir /r "$INSTDIR\installer" RMDir /r "$INSTDIR\installer"
FunctionEnd FunctionEnd
;-------------------------------- ;--------------------------------
;Descriptions ;Descriptions
;USE A LANGUAGE STRING IF YOU WANT YOUR DESCRIPTIONS TO BE LANGAUGE SPECIFIC
;Assign language strings to sections
;Assign descriptions to sections
!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN !insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
StrCmp $LANGUAGE ${LANG_HUNGARIAN} 0 +3 !insertmacro MUI_DESCRIPTION_TEXT ${SecInstall} $(DESC_SecInstall)
!insertmacro MUI_DESCRIPTION_TEXT ${SecInstall} "A ${AppName} installlsa" !insertmacro MUI_DESCRIPTION_TEXT ${NXClient} $(DESC_NXClient)
Goto +2
!insertmacro MUI_DESCRIPTION_TEXT ${SecInstall} "Installing the ${AppName}"
!insertmacro MUI_FUNCTION_DESCRIPTION_END !insertmacro MUI_FUNCTION_DESCRIPTION_END
......
...@@ -16,21 +16,23 @@ IF NOT "%2"=="" ( ...@@ -16,21 +16,23 @@ IF NOT "%2"=="" (
) else ( ) else (
SET "output_on_screen=True" SET "output_on_screen=True"
) )
rem Set whether we want to install selenium or not rem Set whether we want to install NX Client or not
IF NOT "%3"=="" ( IF NOT "%3"=="" (
SET "install_selenium=%3" SET "install_nx=%3"
) else ( ) else (
SET "install_selenium=False" SET "install_nx=False"
) )
if NOT "!install_nx!"=="False" (
SET "nx_install= -n"
)
rem Set which website should the icon point to rem Set which website should the icon point to
SET "site=^"http://cloud.bme.hu/^"" SET "site=^"http://cloud.bme.hu/^""
IF NOT "%4"=="" ( IF NOT "%4"=="" (
IF "%install_selenium%"=="False" ( SET site=%4
SET site=%4
SET my_site=!site:"=!
SET "website= -t ^"!my_site!^""
)
) )
SET my_site=!site:"=!
SET "website= -t ^"!my_site!^""
SET "32PythonOn64=False" SET "32PythonOn64=False"
...@@ -51,7 +53,7 @@ if '%errorlevel%' NEQ '0' ( ...@@ -51,7 +53,7 @@ if '%errorlevel%' NEQ '0' (
:UACPrompt :UACPrompt
echo Set UAC = CreateObject^("Shell.Application"^) > ^"%temp%\getadmin.vbs^" echo Set UAC = CreateObject^("Shell.Application"^) > ^"%temp%\getadmin.vbs^"
set vbs_site=!site:"=""! set vbs_site=!site:"=""!
echo UAC.ShellExecute "cmd.exe", "/c %~s0 !output_on_screen! !install_selenium! !vbs_site!", "", "runas", 1 >> "%temp%\getadmin.vbs" echo UAC.ShellExecute "cmd.exe", "/c %~s0 !output_on_screen! !install_nx! !vbs_site!", "", "runas", 1 >> "%temp%\getadmin.vbs"
^"%temp%\getadmin.vbs^" ^"%temp%\getadmin.vbs^"
del "%temp%\getadmin.vbs" del "%temp%\getadmin.vbs"
...@@ -291,19 +293,11 @@ IF NOT "!output_on_screen!"=="False" ( ...@@ -291,19 +293,11 @@ IF NOT "!output_on_screen!"=="False" (
) )
@echo Done @echo Done
@echo. @echo.
IF "%install_selenium%"=="False" (
SET "create_url_icon= -u"
) else (
SET "create_url_icon="
)
IF NOT "!output_on_screen!"=="False" ( IF NOT "!output_on_screen!"=="False" (
@echo Starting the python installation script>CON @echo Starting the python installation script>CON
) )
@echo Starting the python installation script @echo Starting the python installation script
if NOT "!browserToUse!"=="" ( call python ^"%running_directory%win_install.py^"!nx_install! ^-l "%install_location%\\"!website!
SET "selenium_driver= -d !browserToUse!"
)
call python ^"%running_directory%win_install.py^"!selenium_driver! ^-l "%install_location%\\"!create_url_icon!!website!
IF NOT "!output_on_screen!"=="False" ( IF NOT "!output_on_screen!"=="False" (
@echo Done>CON @echo Done>CON
@echo Installation complete>CON @echo Installation complete>CON
......
...@@ -83,14 +83,6 @@ def custom_protocol_register(custom_protocol): ...@@ -83,14 +83,6 @@ def custom_protocol_register(custom_protocol):
def main(): def main():
"""
Main program
Jobs:
read the parameters
create a proper icon with the proper driver (or delete)
call the nx_client_installer
"""
try: try:
args = parse_arguments() args = parse_arguments()
shortcut = pythoncom.CoCreateInstance( shortcut = pythoncom.CoCreateInstance(
...@@ -122,7 +114,7 @@ def main(): ...@@ -122,7 +114,7 @@ def main():
os.remove(path) os.remove(path)
print "%s file successfully removed" % path print "%s file successfully removed" % path
else: else:
print "Creating custom URL protocol handlers" print "Creating custom URL protocol handler"
try: try:
custom_protocol = OrderedDict([ custom_protocol = OrderedDict([
('circle', ["default", ('circle', ["default",
...@@ -149,30 +141,14 @@ def main(): ...@@ -149,30 +141,14 @@ def main():
subprocess.call( subprocess.call(
"python %s\\nx_client_installer.py" % os.path.dirname( "python %s\\nx_client_installer.py" % os.path.dirname(
os.path.realpath(__file__))) os.path.realpath(__file__)))
if args.url: print "Creating icon in the installation folder"
location = os.path.join(desktop_path, "CIRCLE Client.url") location = os.path.join(desktop_path, "CIRCLE Client.url")
shortcut = open(location, "w") shortcut = open(location, "w")
shortcut.write('[InternetShortcut]\n') shortcut.write('[InternetShortcut]\n')
shortcut.write('URL=' + args.target) shortcut.write('URL=' + args.target)
shortcut.close() shortcut.close()
else:
shortcut.SetPath(args.location + "cloud.py")
if args.driver == "chrome":
shortcut.SetArguments("-d chrome")
elif args.driver == "iexplore":
shortcut.SetArguments("-d ie")
elif args.driver == "opera":
shortcut.SetArguments("-d opera")
shortcut.SetDescription("Tool to use CIRCLE Cloud")
shortcut.SetIconLocation(args.location + "cloud.ico", 0)
desktop_path = shell.SHGetFolderPath(
0, shellcon.CSIDL_DESKTOP, 0, 0)
persist_file = shortcut.QueryInterface(
pythoncom.IID_IPersistFile)
location = os.path.join(desktop_path, "CIRCLE Client.lnk")
persist_file.Save(location, 0)
print "Icon successfully created on desktop"
shutil.copy(location, args.location) shutil.copy(location, args.location)
print "Icon successfully created"
except: except:
print "Unknown error occurred! Please contact the developers!" print "Unknown error occurred! Please contact the developers!"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment