Last active
January 17, 2023 13:01
-
-
Save osnipezzini/799a75d56175fe7c06f5100c1b1a7ae1 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
!include LogicLib.nsh | |
!include WinMessages.nsh | |
!include FileFunc.nsh | |
!include StrContains.nsh | |
############################## HEADER ######################################## | |
!define APP_NAME "" | |
!define COMP_NAME "" | |
!define WEB_SITE "" | |
!define VERSION "" | |
!define COPYRIGHT "" | |
!define DESCRIPTION "" | |
VIProductVersion "${VERSION}" | |
VIAddVersionKey "ProductName" "${APP_NAME}" | |
VIAddVersionKey "CompanyName" "${COMP_NAME}" | |
VIAddVersionKey "LegalCopyright" "${COPYRIGHT}" | |
VIAddVersionKey "FileDescription" "${DESCRIPTION}" | |
VIAddVersionKey "FileVersion" "${VERSION}" | |
Icon "../res/icon.ico" | |
SetCompressor /SOLID lzma | |
SetCompressorDictSize 64 | |
SetDatablockOptimize ON | |
############################## HEADER ######################################## | |
SilentInstall silent | |
RequestExecutionLevel user ;no elevation needed for this test | |
ShowInstDetails hide | |
# this will be the created executable archive | |
OutFile "..\RUSTDESK.exe" | |
InstallDir $EXEDIR | |
# the executable part | |
Section | |
# define the output path for the following files | |
SetOutPath $TEMP\RustDesk | |
# define what to install and place it in the output path... | |
File "..\flutter\build\windows\runner\Release\desktop_drop_plugin.dll" | |
File "..\flutter\build\windows\runner\Release\desktop_multi_window_plugin.dll" | |
File "..\flutter\build\windows\runner\Release\flutter_custom_cursor_plugin.dll" | |
File "..\flutter\build\windows\runner\Release\flutter_windows.dll" | |
File "..\flutter\build\windows\runner\Release\Img2Mem.exe" | |
File "..\flutter\build\windows\runner\Release\librustdesk.dll" | |
File "..\flutter\build\windows\runner\Release\screen_retriever_plugin.dll" | |
File "..\flutter\build\windows\runner\Release\RustDesk.exe" | |
File "..\flutter\build\windows\runner\Release\TestApp.exe" | |
File "..\flutter\build\windows\runner\Release\TestAppDebug.exe" | |
File "..\flutter\build\windows\runner\Release\tray_manager_plugin.dll" | |
File "..\flutter\build\windows\runner\Release\uni_links_desktop_plugin.dll" | |
File "..\flutter\build\windows\runner\Release\url_launcher_windows_plugin.dll" | |
File "..\flutter\build\windows\runner\Release\WindowInjection.dll" | |
File "..\flutter\build\windows\runner\Release\window_manager_plugin.dll" | |
File "..\flutter\build\windows\runner\Release\window_size_plugin.dll" | |
SetOutPath "$TEMP\RustDesk\data" | |
File "..\flutter\build\windows\runner\Release\data\app.so" | |
File "..\flutter\build\windows\runner\Release\data\icudtl.dat" | |
SetOutPath "$TEMP\RustDesk\data\flutter_assets" | |
File "..\flutter\build\windows\runner\Release\data\flutter_assets\AssetManifest.json" | |
File "..\flutter\build\windows\runner\Release\data\flutter_assets\FontManifest.json" | |
File "..\flutter\build\windows\runner\Release\data\flutter_assets\NOTICES.Z" | |
SetOutPath "$TEMP\RustDesk\data\flutter_assets\packages\window_manager\images" | |
File "..\flutter\build\windows\runner\Release\data\flutter_assets\packages\window_manager\images\ic_chrome_close.png" | |
File "..\flutter\build\windows\runner\Release\data\flutter_assets\packages\window_manager\images\ic_chrome_maximize.png" | |
File "..\flutter\build\windows\runner\Release\data\flutter_assets\packages\window_manager\images\ic_chrome_minimize.png" | |
File "..\flutter\build\windows\runner\Release\data\flutter_assets\packages\window_manager\images\ic_chrome_unmaximize.png" | |
SetOutPath "$TEMP\RustDesk\data\flutter_assets\packages\wakelock_web\assets" | |
File "..\flutter\build\windows\runner\Release\data\flutter_assets\packages\wakelock_web\assets\no_sleep.js" | |
SetOutPath "$TEMP\RustDesk\data\flutter_assets\packages\flutter_custom_cursor\assets\cursors" | |
File "..\flutter\build\windows\runner\Release\data\flutter_assets\packages\flutter_custom_cursor\assets\cursors\cut_bottom.png" | |
File "..\flutter\build\windows\runner\Release\data\flutter_assets\packages\flutter_custom_cursor\assets\cursors\cut_left.png" | |
File "..\flutter\build\windows\runner\Release\data\flutter_assets\packages\flutter_custom_cursor\assets\cursors\cut_right.png" | |
File "..\flutter\build\windows\runner\Release\data\flutter_assets\packages\flutter_custom_cursor\assets\cursors\cut_top.png" | |
File "..\flutter\build\windows\runner\Release\data\flutter_assets\packages\flutter_custom_cursor\assets\cursors\erase.png" | |
File "..\flutter\build\windows\runner\Release\data\flutter_assets\packages\flutter_custom_cursor\assets\cursors\pencil.png" | |
SetOutPath "$TEMP\RustDesk\data\flutter_assets\packages\dash_chat_2\assets" | |
File "..\flutter\build\windows\runner\Release\data\flutter_assets\packages\dash_chat_2\assets\placeholder.png" | |
File "..\flutter\build\windows\runner\Release\data\flutter_assets\packages\dash_chat_2\assets\profile_placeholder.png" | |
SetOutPath "$TEMP\RustDesk\data\flutter_assets\packages\cupertino_icons\assets" | |
File "..\flutter\build\windows\runner\Release\data\flutter_assets\packages\cupertino_icons\assets\CupertinoIcons.ttf" | |
SetOutPath "$TEMP\RustDesk\data\flutter_assets\fonts" | |
File "..\flutter\build\windows\runner\Release\data\flutter_assets\fonts\MaterialIcons-Regular.otf" | |
SetOutPath "$TEMP\RustDesk\data\flutter_assets\assets" | |
File "..\flutter\build\windows\runner\Release\data\flutter_assets\assets\android.svg" | |
File "..\flutter\build\windows\runner\Release\data\flutter_assets\assets\gestures.ttf" | |
File "..\flutter\build\windows\runner\Release\data\flutter_assets\assets\Github.svg" | |
File "..\flutter\build\windows\runner\Release\data\flutter_assets\assets\Google.svg" | |
File "..\flutter\build\windows\runner\Release\data\flutter_assets\assets\insecure.svg" | |
File "..\flutter\build\windows\runner\Release\data\flutter_assets\assets\insecure_relay.svg" | |
File "..\flutter\build\windows\runner\Release\data\flutter_assets\assets\linux.svg" | |
File "..\flutter\build\windows\runner\Release\data\flutter_assets\assets\logo.ico" | |
File "..\flutter\build\windows\runner\Release\data\flutter_assets\assets\logo.png" | |
File "..\flutter\build\windows\runner\Release\data\flutter_assets\assets\logo.svg" | |
File "..\flutter\build\windows\runner\Release\data\flutter_assets\assets\mac.svg" | |
File "..\flutter\build\windows\runner\Release\data\flutter_assets\assets\Okta.svg" | |
File "..\flutter\build\windows\runner\Release\data\flutter_assets\assets\peer_searchbar.ttf" | |
File "..\flutter\build\windows\runner\Release\data\flutter_assets\assets\secure.svg" | |
File "..\flutter\build\windows\runner\Release\data\flutter_assets\assets\secure_relay.svg" | |
File "..\flutter\build\windows\runner\Release\data\flutter_assets\assets\tabbar.ttf" | |
File "..\flutter\build\windows\runner\Release\data\flutter_assets\assets\win.svg" | |
# Check if has -install on exe name | |
${StrContains} $7 "-install" $EXEPATH | |
# Get parameters and check if has parameter --install | |
${GetParameters} $9 | |
ClearErrors | |
${GetOptions} $9 "--install" $8 | |
${IfNot} ${Errors} | |
${OrIf} $7 != "" | |
ExecWait "$TEMP\RustDesk\RustDesk.exe --install" | |
${Else} | |
ExecWait "$TEMP\RustDesk\RustDesk.exe" | |
${EndIf} | |
SetOutPath $TEMP | |
RMDir /r $TEMP\RustDesk | |
# done | |
SectionEnd |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Var /Global STR_HAYSTACK | |
Var /Global STR_NEEDLE | |
Var /Global STR_CONTAINS_VAR_1 | |
Var /Global STR_CONTAINS_VAR_2 | |
Var /Global STR_CONTAINS_VAR_3 | |
Var /Global STR_CONTAINS_VAR_4 | |
Var /Global STR_RETURN_VAR | |
Function StrContains | |
Exch $STR_NEEDLE | |
Exch 1 | |
Exch $STR_HAYSTACK | |
; Uncomment to debug | |
;MessageBox MB_OK 'STR_NEEDLE = $STR_NEEDLE STR_HAYSTACK = $STR_HAYSTACK ' | |
StrCpy $STR_RETURN_VAR "" | |
StrCpy $STR_CONTAINS_VAR_1 -1 | |
StrLen $STR_CONTAINS_VAR_2 $STR_NEEDLE | |
StrLen $STR_CONTAINS_VAR_4 $STR_HAYSTACK | |
loop: | |
IntOp $STR_CONTAINS_VAR_1 $STR_CONTAINS_VAR_1 + 1 | |
StrCpy $STR_CONTAINS_VAR_3 $STR_HAYSTACK $STR_CONTAINS_VAR_2 $STR_CONTAINS_VAR_1 | |
StrCmp $STR_CONTAINS_VAR_3 $STR_NEEDLE found | |
StrCmp $STR_CONTAINS_VAR_1 $STR_CONTAINS_VAR_4 done | |
Goto loop | |
found: | |
StrCpy $STR_RETURN_VAR $STR_NEEDLE | |
Goto done | |
done: | |
Pop $STR_NEEDLE ;Prevent "invalid opcode" errors and keep the | |
Exch $STR_RETURN_VAR | |
FunctionEnd | |
!macro _StrContainsConstructor OUT NEEDLE HAYSTACK | |
Push "${HAYSTACK}" | |
Push "${NEEDLE}" | |
Call StrContains | |
Pop "${OUT}" | |
!macroend | |
!define StrContains '!insertmacro "_StrContainsConstructor"' |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment