Installer

Organizing tasks to work on, New Features Ideas, Building LCS & LCB Libraries & Widgets, Redecorating and Modifying the IDE, Hacking / Editing Tools, Compiling the Engine from Source, etc.
Post Reply
User avatar
OpenXTalkPaul
Posts: 1485
Joined: Sat Sep 11, 2021 4:19 pm
Contact:

Installer

Post by OpenXTalkPaul »

So the IDE is a fairly portable app, and most look and feel things about it can be changed by editing the stacks and scripts that make up the IDE. Which is the bulk of the work that I've been doing for the required goal of distinguishing OXT from LCC.

However, in recent versions of LC/LCC they integrated the installer into the main binary.
I want to either remove it or make it so it doesn't ever appear because it looks like this:
Screen Shot 2021-11-02 at 11.09.58 AM.png
Screen Shot 2021-11-02 at 11.09.58 AM.png (98.34 KiB) Viewed 6893 times
If you delete your RunRev folder (on macOS this is in /Library/Application Support/ but in different locations depending on the platform) the engine acts as if you've never installed LCC before and you will get this dialog that is used for creating an account for things like getting your email address for LC to send advertisements, or sharing stacks via their portal, and for using LC forums, none of which applies to OXT.

The way OXT is right now, if you dismiss this via "Skip this step", without making an account it appears to simply quit and doesn't launch the IDE, but it actually creates that RunRev folder and two files:
Screen Shot 2021-11-02 at 11.18.18 AM.png
Screen Shot 2021-11-02 at 11.18.18 AM.png (38.04 KiB) Viewed 6893 times
Once those files exist the IDE launches normally.

So to fix this it could go two different ways, recompile the engine(s) without this dialogue, or (probably easier) make our own installer(s) or launcher that ensures those two files above exist or it creates them, and then launches the IDE normally.

To fix the multiple instances of the IDE launching problem on Linux, I'm probably going to have to create a launcher shell script anyway.
User avatar
OpenXTalkPaul
Posts: 1485
Joined: Sat Sep 11, 2021 4:19 pm
Contact:

Re: Installer

Post by OpenXTalkPaul »

OK so here is an AppleScript wrapped Bash shell script that will created the file that the community binary looks for when it's launched in order to determine if that "make account" window was already presented to the user to not.

Code: Select all

try
	set _folder to POSIX path of (path to home folder as text) & "Library/Application Support/RunRev/"
	do shell script ("mkdir " & quote & _folder & quote) with privileges
	set _folder to POSIX path of (path to home folder as text) & "Library/Application Support/RunRev/Licenses/"
	do shell script ("mkdir " & quote & _folder & quote) with privileges
	set _file to POSIX path of (path to home folder as text) & "Library/Application Support/RunRev/Licenses/livecode-firstrun.lcf"
	do shell script ("echo OpenXTalk > " & quote & _file & quote) with privileges
end try
The script just creates the needed folder(s) if they don't already exist and then creates and writes text "OpenXTalk" to a file named "livecode-firstrun.lcf". It's wrapped in a "try" control structure so that no user interaction is required.
As long as a file named that is present, the binary will automatically create the other file named "livecode-community-9_6_3-15543.lclk", which it then writes the following information to:

Code: Select all

---- LIVECODE ACTIVATION KEY (R1) ----
name=LiveCode Community User
organization=
time=1636472888
---- LIVECODE ACTIVATION KEY (R1) ----
The "time=" number looks like the current time in seconds, which I believe LCC used to run an update check periodically, which is now pointless and I think I already removed or commented out the update check from the IDE scripts.

In my opinion this license check and that "create account" dialog (which is actually a stack) should be removed when the binaries are recompiled from source, or perhaps we could repurpose it but personally I don't like that it wastes even a little bit of time checking for these files every time you launch the IDE.
xAction
Posts: 282
Joined: Thu Sep 16, 2021 1:40 pm
Contact:

Re: Installer

Post by xAction »

Yeah ditch them. Better to have a Community option in Help then a stack the pops up the latest URLS for forums, reddit, github etc"
The idea behind the 'registered users' concept even for free versions was to be able to collect some telemetry about usage.
Sure there was 78,000 downloads of the app in a month, but how many people ran the app, and how often, how long did the app run for? Maybe some other spy stuff that might be illegal these days. It was the wild west in 2007.
Post Reply

Who is online

Users browsing this forum: No registered users and 3 guests