SyMenu Forum

SyMenu

 

VVV_Easy_Symenu

all messages by user

27/02/2018
Topic:
SyMenu Published App Track

VVV_Easy_Symenu
VVV_Easy_Symenu
CHANGELOG:
2018.02.27-V.5.1: Download size test improvements (now works with SourceForge).
01/03/2018
Topic:
SyMenu Published App Track

VVV_Easy_Symenu
VVV_Easy_Symenu
CHANGELOG:
2018.03.01-V.5.2: Corrected little bugs of change the colors in second track or change the strings in edit track.
06/04/2018
Topic:
SPS Builder code snippets

VVV_Easy_Symenu
VVV_Easy_Symenu
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 >>> Discontinued and discouraged: difficult to maintain the division of versions
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.
MuseScore X64:
MuseScore is the typical FOSS application developed with QT5 that it is practically portable itself but not stealth by the folders it uses to save the configurations:

%APPDATA%\MuseScore, %LOCALAPPDATA%\MuseScore,
%USERPROFILE%\Documents\MuseScore and %USERPROFILE%\Desktop (is used as default in Open Folder Dialog)

The solution is to use the change of system variables that SyMenu has, reconfiguring USERPROFILE operating system variable. This is this is done in the section Scrip After Install:
MakeDir ".\USERPROFILE_PORTABLE"
MakeDir ".\USERPROFILE_PORTABLE\AppData"
MakeDir ".\USERPROFILE_PORTABLE\AppData\Local"
MakeDir ".\USERPROFILE_PORTABLE\AppData\Roaming"
MakeDir ".\USERPROFILE_PORTABLE\Documents"
MakeDir ".\USERPROFILE_PORTABLE\Desktop"
AddVar USERPROFILE=..\..\USERPROFILE_PORTABLE
DelFile *.msi

Some remarks:
1. In the 'MakeDir' stataments we use ".\USERPROFILE_PORTABLE" because the statement is going to be executed by installer and the reference is the install folder, MuseScore_ (x64) _sps\.
2. In the 'AddVar' stataments we use "..\..\USERPROFILE_PORTABLE" because the statement is going to be executed in every each application launch so the the reference is the folder of the Main Exe File, in this case MuseScore_ (x64) _sps\MuseScore 3\bin\ MuseScore3.exe
3. Normally it's not necessary to create all the folders because the program does it by itself but it helps to understand the user the clarification of the following point.
4. In the Not Sealth section is included one useful information for the user:

"You can move an installed configuration from %APPDATA%\MuseScore, %LOCALAPPDATA%\MuseScore and %USERPROFILE%\Documents\MuseScore to the equivalent in the SPS App MuseScore folder "USERPROFILE_PORTABLE"

KeyCastOW:
Now the build is dowloaded from well know Chocolatey.org.
"Chocolatey is a software management solution unlike anything else you've ever experienced on Windows. Chocolatey brings the concepts of true package management to allow you to version things, manage dependencies and installation order, better inventory management, and other features."

The "nupkg" package is a zip archive and, in this case, you can get easily the original program.

.

edited by VVV_Easy_Symenu on 31/05/2020
12/04/2018
Topic:
Filmotech - Not completely portable

VVV_Easy_Symenu
VVV_Easy_Symenu
Now new Filmotech SyMenu App in x64 versión ...
22/04/2018
Topic:
SPS Builder code snippets

VVV_Easy_Symenu
VVV_Easy_Symenu
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")
16/06/2018
Topic:
Filmotech - Not completely portable

VVV_Easy_Symenu
VVV_Easy_Symenu
Has come out a new functional MOd version of the Filmotech competitor, Personal Video Database.
Available in SyMenu Suite to test.
30/06/2018
Topic:
SyMenu behaviour "Build in updater" apps

VVV_Easy_Symenu
VVV_Easy_Symenu
Continue and explained in the topic:

https://www.ugmfree.it/Forum/messages.aspx?TopicID=691

edited by VVV_Easy_Symenu on 01/08/2018
26/07/2018
Topic:
Automated Script Versions

VVV_Easy_Symenu
VVV_Easy_Symenu
BTW,
Is there some visibility of implementing the "alert on update" with the SPS Apps with "Build in updater" checked (with "0.00.sps.version")?

https://www.ugmfree.it/Forum/messages.aspx?TopicID=627#post2105
01/08/2018
Topic:
Automated Script Versions

VVV_Easy_Symenu
VVV_Easy_Symenu
I explain the idea better.

Today, the SPS Apps with the "Build in updater" checked by the publisher are installed with "0.00.sps.version" and SyMenu is not able to follow the updates that the publisher continues to make.

For having update the SPS Suite with this kind of apps, the user must remember what are this apps, run its with a internet connection working and with the inner updater checked.

In order to manage all updates with the SyMenu system easily and with a minimum programming work for Gian ;-) , I could suggest:
1) Write in the text of the VersionFile the installed app version too in all the cases, for instance:
  • Subtitle_Edit (NO build in updater) -> VersionFile: "3.5.6.0.sps.version" containing the text "3.5.6.0.sps.version"
  • SUMo_Portable (YES Build in updater) -> VersionFile: "0.00.sps.version" containing the text "5.7.1.sps.version"
2) Add a new option, may be "SyMenu update priority" or "Alert always in update" or "Overwrite build in update" that sets the following behaviour:
  • NOT checked (actual system) SyMenu looks the VersionFile name for update disposable alert (nothing to do if "0.00.sps.version" name).
  • YES checked (proposed system) SyMenu looks the VersionFile text content for update alert (If the file is empty it alerts to implement backward compatibility)

What do you think?

edited by VVV_Easy_Symenu on 01/08/2018
01/08/2018
Topic:
Automated Script Versions

VVV_Easy_Symenu
VVV_Easy_Symenu
I understand and share your priorities. It's a very good new that you finally have found the right solution for the windows desktop zoom.
Just a clarification, when I wrote "alert" I wanted to say only that it appears as "Update" (Aggiornabile) in the window of "SyMenu-Manage SPS Apps" window, not an especial user alert.
Really, I'm thinking in an advanced option that disables the actual SyMenu "precaution" in the Manage SPS APPS window with the Build in update Apps (it doesn't compares the available with the installed version because the 0.00 question). Perhaps the explanation with a programming approach may have created confusion.
Thank you for your attention, eager of see the new "scalable" version.
03/08/2018
Topic:
SPS Builder code snippets

VVV_Easy_Symenu
VVV_Easy_Symenu
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.
07/08/2018
Topic:
Autorun 32 or 64 bit version of app

VVV_Easy_Symenu
VVV_Easy_Symenu
Non official Update:
1) Added Debug option
2) Rewritten with the AHK V.1.1.29.1 possibilities.


Only update from 31/12/2016 version if you have problems.


.

edited by VVV_Easy_Symenu on 07/08/2018
28/10/2018
Topic:
New SyMenu alpha version 6.06

VVV_Easy_Symenu
VVV_Easy_Symenu
Well done, Gian!
SyMenu looks now clear, clear .

Trying ....
24/11/2018
Topic:
New SyMenu version 6.06

VVV_Easy_Symenu
VVV_Easy_Symenu
... And it work like a charm, very clear ... a big quality step for SyMenu
Thanks for your work, Gian, I know by experience that design a scalable API is very hard job.
02/12/2018
Topic:
My SyMenu "wish list"

VVV_Easy_Symenu
VVV_Easy_Symenu
Hello "Symenu fans",
I suddenly realized that we are close to Christmas and I have said to myself: "I am going to make my wish list for SyMenu".
Logically I do not expect everything to arrive before Christmas, but if we go organizing this may help Gian to know what is the most expected feature of all because it is now distributed throughout all the Forum. (Honestly I have to say that I am influenced by the Kano model with which I am actually working)

After the big improvement of program graphics of the last version, My SyMenu three "wish list" in order is:
1st) To be alerted in all SPS updates even with the SPS Apps with "Build in updater" checked (with "0.00.sps.version") Post.
2nd) Get the item "Host Programs" as isolated menu item to to definitely kill the windows start menu (actually is integrated in "My Computer" item and is not possible to show it in the first level))
3er) New 'Script After Install' command "RunFile" on install and update Post. (Well, I know that this very, very special feature, a "publisher" wish)

I hope that this thread will be useful for all, applying Kano's marketing approach to new features: What does the client consider important and how is it implemented.

edited by VVV_Easy_Symenu on 02/12/2018
02/02/2019
Topic:
My SyMenu "wish list"

VVV_Easy_Symenu
VVV_Easy_Symenu
Wow, very good news. We have a new version: 6.07.6972 [2019.02.02].

Good work, Gian!
Trying!

edited by VVV_Easy_Symenu on 02/02/2019
03/02/2019
Topic:
My SyMenu "wish list"

VVV_Easy_Symenu
VVV_Easy_Symenu
I'm trying the new version: 6.07.6972 [2019.02.02]. Some quick returns:

"Breaking change on the customizable menu structure: the Host programs item is now separated from MyComputer item"
It works as expected. Nice.

"An already updated program can be forced to update itself again. It works with autoupdatable programs too (0.00)"
I don't understand how this works. I explain myself with an example with a 0.00.sps app "Mozilla Firefox Portable":
  • I have the 61.0.2 version installed. How I knows? Because when I run it alerts me that there is an update and I can see it in the inner FireFox menu.
  • In the Get New Apps windows today it apears with the version 65.0 updated in 29-01-2019 as Added (and no UPD banner over the icon, even when yesterday was in 64.0)
  • If I check it and "Apply All" in the Get New Apps windows it ask me for Remove, not for update, logical usual behavior.
So,
  • How I can force to update this app?
  • How I know that has been a change in the Added app? (I have expected a banner UPD over the icon)
"The Visit web site link in configuration form is now a button"
Nice.

Thank you for your perseverant work for so many years, Gian

edited by VVV_Easy_Symenu on 03/02/2019
04/02/2019
Topic:
My SyMenu "wish list"

VVV_Easy_Symenu
VVV_Easy_Symenu
Gianluca wrote:
4) How I can force to update this app?
Go to the Get new apps, right click on an already added program, choose Force update from the web site. It works with either normal and 0.00 programs.

It works fine. To force update is all of I need.



Gianluca wrote:
2) The UPD banner never appears on the 0.00 programs. I can't remember why I decided to adopt this behavior but, at the time, it seemed sane.

I understand and share the reason for the basic users (banner without alert of Update in the Status column for the 0.00 apps it's confusing).


Gianluca wrote:
5) How I know that has been a change in the Added app?
As usual an available update is notified with the red update banner.
Don't expect a new behavior with the 0.00 programs instead. If they are already added, they never show the banner.

It's a pity that there is no option for advanced users to force the banner even in 0.00 apps.
To surround this I must do: after updating the Updates Definition, I should filter by Added and sort by the Released on column to update the normal apps (check box) as well as the 0.00 (right click).


With this, my first wish on the list would be complete (although with the forced update I can handle it) smile

edited by VVV_Easy_Symenu on 04/02/2019
06/02/2019
Topic:
My SyMenu "wish list"

VVV_Easy_Symenu
VVV_Easy_Symenu
There are several occasions where it is necessary and arrived to me:

1) You prepare the SyMenu Suite on a computer with internet access but use it in one without access. You never detect an update: neither when you update the suite on your computer with internet (because is a 0.00 app) or when you use the application without internet access.
2) Another similar case is when you are behind a proxy with a ban on download pages.
3) When you prepare a SyMenu "origin" and have other SyMenu "mirrors" synchronized with it. If the user updates a "mirror" with autoupdate but the "origin" is not updated for not use of the app, when you re-synchronize, you undo the update.

4) Many programs take time to detect the update (or lack of internet): then I disable the autoupdate. For instance, sometimes you have several instances open and the first one begins to do the update and forces the others to close.
5) I trust more in an update uploaded by the publisher than the automatic update itself.
6) Is in my memory that I have had problems with the autoupdate of the portable FireFox but now I do not have data (itself, proxy, etc). I'm tuned to inform if it comes again.

There are probably more cases but I hope that these serve to understand the need.
14/02/2019
Topic:
My SyMenu "wish list"

VVV_Easy_Symenu
VVV_Easy_Symenu
Gianluca wrote:

Or... add a third banner (NEW, UPD, AUT).
AUT means: "dear user, there is a new version for this program but since it's a 0.00 it's in AUTo update mode, so please make it autoupdates or force the update from here!!".
It's still a draft but what do you think?



I think the new AUT banner is the best solution, for two reasons:
1) It works for the normal user because it solves the possible incoherence of different Status "Added "and "Update" of the APP with the same banner.
2) For the advanced users it allows to distinguish the 0.00 app update and decide the "make it autoupdates or force the update from here!!"

Well thought, Gian!

UGMFree © 2002-2024
PayPal BTC TON