SyMenu Forum

SyMenu

 

HomeSyMenu Suite

The SyMenu collection of portable programs

SPS Builder code snippets Messages in this topic - RSS

VVV_Easy_Symenu
VVV_Easy_Symenu
Posts: 132


06/04/2018
VVV_Easy_Symenu
VVV_Easy_Symenu
Posts: 132
Hello,
the SyMenu family is getting bigger, however I believe that people are still afraid to become the SPS Publisher App.
My experience is that with SyMenu the vast majority of free applications are easily portable but the first time that you program SPS Builder is a little bit hard (even with the great help of Gian)
So I would like to make available to everyone what I am learning and, perhaps, some code snippets may be useful for someone.
I choose the principal SPS App lesson but I don’t include the code because is easily accessible with the SPS Publised Track App of SyMenu suite (ReBuild with empty publisher and right click for open it with SPSBuilder) and always in the last functional version.
Do not hesitate to ask about any questions or add your own improvements or snippets.
(PS for Gian: Perhaps could be useful Pin Up this Topic in the forum to make it easy to find. ¿May be better under "Technical discussion"?)

Avidemux (x64):
Scrip After Install = Clean installation files like $PLUGINSDIR folder, uninstall.exe.
ImgBurn:
In this case, with the code snippet comes a good habit: Before creating the SPS App consult its portability in "The Portable Freeware Collection". And also another advice, if there are doubts about which application to use search in "AlternativeTo" in order to check if there are other FOSS (Free and Open Source Software) options.
Scrip After Install = Creation of ini text file for make the app portable (see SPS Builder and "ImageBurn in PortableFreeware")
MiniTool Partition Wizard Free:
Scrip After Install = From a InnoSetup installation package with double versions (x86 and x64) create double SPS App versions creating the folder tree and renaming de *1, *,2 files.
ExifToolGUI:
Scrip After Install = This is a SPS App “ExifTool” dependent (at least when runs the first time) so it make a launcher batch for:
1) copy the needed files from the parent SPS App.
2) verify if the parent app has been updated (then update the needed files) but always runs the app.
SciTE4AutoHotkey:
Scrip After Install = This is a SPS App “AutoHotkey Compiler” dependent (at least when runs the first time) so it make a launcher batch for:
1) copy the needed files from the parent SPS App.
2) verify if the parent app has been updated (then update the needed files) but always runs the app.
DSynchronize:
Scrip After Install = Make a launcher batch for:
1) If the language is not set and internet is enable, ask for the user language and download the language pack. Always runs the app.
TCX Converter:
Scrip Before Install = Process (unzip) a downloaded package before passing it to the InnoSetup unpacker.
Scrip After Install = Make a launcher batch for:
1) Create the folder “%APPDATA%\TCXConverter” with the default database settings (it must unzip the file)
2) If internet is enable, download the language pack update but always runs the app.
TrIDNet:
In addition to the snippet, this entry is interesting for the SPS Builder approach. TrDNet is designed to identify file types from their binary signatures. The app is very stable (last update in 2016) but the file definitions is frequently updated. In addition, the download file of the app is zip and the definition file are 7z (no PowerShell command for 7z files although SyMenu has 7z.exe). Finally, the program doesn’t have built system for download (neither update) the definition file, this must be done manually by the user.
In this case, SPS Builder download and install the definition file (in this manner the publisher can use the SyMenu update tracing alert both for the definition file and for the app) and in the first time (the app doesn’t exist), the launcher downloads and decompress the app.
Scrip After Install = Make a launcher batch for:
1) If the executable file of the app doesn’t exist and internet is enable, it downloads and decompresses the app. If no executable and no internet it alerts to the user “Internet needed in the first run for complete the app” and exits. If the executable file exists (downloaded in this time or before) it runs the app.
Attribute changer X64:
Attribute Changer is implemented as a shell extension: You need to right-click on files, folders or drives and choose the “Change attributes…” explorer context menu item.
To make it portable you need register the program as COM In-Process for use it.
Scrip After Install = Sort the different files. Make two batch for:
· Activate_Attribute_Changer_x64.bat:
1. If the language is not set, ask for the user language and set it.
2. If not running in elevate mode, prompt for running administrator privileges.
3. In Elevate mode, Register the program dll as COM In-Process for use it in the explorer context menu.
· Disable_Attribute_Changer_x64.bat
1. Delete the software registry key (for edit the right user HKCU registry key you must be in the session of the normal Attribute Changer user, elevate is NOT needed)
2. If not running in elevate mode, prompt for running administrator privileges.
3. In Elevate mode, UnRegister the COM In-Process server.

.

edited by VVV_Easy_Symenu on 03/08/2018
link
Gianluca
Gianluca
Administrator
Posts: 790


09/04/2018
Gianluca
Gianluca
Administrator
Posts: 790
Thank you very much for your effort to document the best techniques you implemented in the SPS.
I would like to implement a wiki for this, also because all the SPS topic, lacks a real guide, but, at the moment, it's a too time-consuming task for me.
Anyway I agree with your idea to pin this thread and I hope other editors could publish some other trick here.
Thank you again for you devotion to this project!!!
link
VVV_Easy_Symenu
VVV_Easy_Symenu
Posts: 132


22/04/2018
VVV_Easy_Symenu
VVV_Easy_Symenu
Posts: 132
Update with
ImgBurn:
In this case, with the code snippet comes a good habit: Before creating the SPS App consult its portability in "The Portable Freeware Collection". And also another advice, if there are doubts about which application to use search in "AlternativeTo" in order to check if there are other FOSS (Free and Open Source Software) options.
Scrip After Install = Creation of ini text file for make the app portable (see SPS Builder and "ImageBurn in PortableFreeware")
link
VVV_Easy_Symenu
VVV_Easy_Symenu
Posts: 132


03/08/2018
VVV_Easy_Symenu
VVV_Easy_Symenu
Posts: 132
Updated with
TrIDNet:
In addition to the snippet, this entry is interesting for the SPS Builder approach. TrDNet is designed to identify file types from their binary signatures. The app is very stable (last update in 2016) but the file definitions is frequently updated. In addition, the download file of the app is zip and the definition file are 7z (no PowerShell command for 7z files although SyMenu has 7z.exe). Finally, the program doesn’t have built system for download (neither update) the definition file, this must be done manually by the user.
In this case, SPS Builder download and install the definition file (in this manner the publisher can use the SyMenu update tracing alert both for the definition file and for the app) and in the first time (the app doesn’t exist), the launcher downloads and decompress the app.
Scrip After Install = Make a launcher batch for:
1) If the executable file of the app doesn’t exist and internet is enable, it downloads and decompresses the app. If no executable and no internet it alerts to the user “Internet needed in the first run for complete the app” and exits. If the executable file exists (downloaded in this time or before) it runs the app.
link



UGM.NET ©2002-2018
By Gianluca Negrelli - Contact me