[GH-ISSUE #741] add scoop as installation method #598

Open
opened 2026-02-26 09:32:01 +03:00 by kerem · 10 comments
Owner

Originally created by @shafschwd on GitHub (Oct 10, 2020).
Original GitHub issue: https://github.com/NickeManarin/ScreenToGif/issues/741

add scoop as installation method on website and on readme.md
https://github.com/lukesampson/scoop-extras/blob/master/bucket/screentogif.json

Scoop is a command-line installer for Windows

Originally created by @shafschwd on GitHub (Oct 10, 2020). Original GitHub issue: https://github.com/NickeManarin/ScreenToGif/issues/741 add scoop as installation method on website and on readme.md https://github.com/lukesampson/scoop-extras/blob/master/bucket/screentogif.json Scoop is a command-line installer for Windows
Author
Owner

@Polisson commented on GitHub (Mar 15, 2022):

+1 to idea, but...
besides placing website/readme.md, this method needs more testing because there is a little issue with installing of (and I'll describe it here as the title best fit):
ScreenToGif doesn't seem to save user configuration between its launching.
Scoop makes two things:

  1. symlinks ~\scoop\apps\screentogif\current to actual app version folder (as of writing 2.36), that's OK;
  2. particular file ~\scoop\apps\screentogif\current\Settings.xaml is hardlinked to ~\scoop\persist\screentogif\Settings.xaml that is a culprit!
    As a workaround to restore saving of settings: break this hardlink (specifically: replace with symlink to persistent dir).

I am writing a parallel issue on extras bucket github repo issues. Here for anybody wanting to instant solution.

<!-- gh-comment-id:1068451911 --> @Polisson commented on GitHub (Mar 15, 2022): +1 to idea, but... besides placing website/readme.md, this method needs more testing because there is a little issue with installing of (and I'll describe it here as the title best fit): ScreenToGif doesn't seem to save user configuration between its launching. Scoop makes two things: 1. symlinks `~\scoop\apps\screentogif\current` to actual app version folder (as of writing 2.36), that's OK; 2. particular file `~\scoop\apps\screentogif\current\Settings.xaml` is hardlinked to `~\scoop\persist\screentogif\Settings.xaml` that is a culprit! As a workaround to restore saving of settings: break this hardlink (specifically: replace with symlink to _persistent_ dir). I am writing a parallel issue on [extras bucket github repo issues](https://github.com/ScoopInstaller/Extras/issues/8162). Here for anybody wanting to instant solution.
Author
Owner

@rashil2000 commented on GitHub (Mar 15, 2022):

I'm not able to reproduce the above issue. My settings are saved as they should. Also, in both the the cases, the link is a hardlink. Scoop does not create symlinks.

<!-- gh-comment-id:1068468743 --> @rashil2000 commented on GitHub (Mar 15, 2022): I'm not able to reproduce the above issue. My settings are saved as they should. Also, in both the the cases, the link is a hardlink. Scoop does not create symlinks.
Author
Owner

@Polisson commented on GitHub (Mar 16, 2022):

OK. In my case, two discrete machines have the same behavior.
I've just made another test and have a suspicion:
After standard installation by scoop, the file Settings.xaml has 0 bytes (empty, of course).
But when this file is not existing, ScreenToGif creates one on first launch with such content:
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"></ResourceDictionary>
So existing an empty file (with no structure) prevents from making new default file.

<!-- gh-comment-id:1068875494 --> @Polisson commented on GitHub (Mar 16, 2022): OK. In my case, two discrete machines have the same behavior. I've just made another test and have a suspicion: After standard installation by scoop, the file `Settings.xaml` has 0 bytes (empty, of course). But when this file is not existing, ScreenToGif creates one on first launch with such content: `<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"></ResourceDictionary>` So existing an empty file (with no structure) prevents from making new default file.
Author
Owner

@rashil2000 commented on GitHub (Mar 16, 2022):

Is the default settings file available somewhere in this repo? We can use it instead of creating a new (blank) settings file.

<!-- gh-comment-id:1068879255 --> @rashil2000 commented on GitHub (Mar 16, 2022): Is the default settings file available somewhere in this repo? We can use it instead of creating a new (blank) settings file.
Author
Owner

@Polisson commented on GitHub (Mar 16, 2022):

Nope, installation scoop just downloads portable edition of app, then extracts it and creates it's file structure (links files and folders in few places).
I'm a newbie in scoop configs, but maybe there is possibility to fill up file with correct/required content, right after creation.

<!-- gh-comment-id:1068883402 --> @Polisson commented on GitHub (Mar 16, 2022): Nope, installation scoop just downloads portable edition of app, then extracts it and creates it's file structure (links files and folders in few places). I'm a newbie in scoop configs, but maybe there is possibility to fill up file with correct/required content, right after creation.
Author
Owner

@rashil2000 commented on GitHub (Mar 16, 2022):

maybe there is possibility to fill up file with correct/required content, right after creation.

Yep, that's what I'm saying

<!-- gh-comment-id:1068886780 --> @rashil2000 commented on GitHub (Mar 16, 2022): > maybe there is possibility to fill up file with correct/required content, right after creation. Yep, that's what I'm saying
Author
Owner

@Polisson commented on GitHub (Mar 16, 2022):

You asked if there is a file, but I'm saying there is no such file. So I came up with ScreenToGif ability to fill an empty file with correct structure:

<!-- gh-comment-id:1068896287 --> @Polisson commented on GitHub (Mar 16, 2022): You asked if there is a file, but I'm saying there is no such file. So I came up with ScreenToGif ability to fill an empty file with correct structure: <ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"></ResourceDictionary>
Author
Owner

@rashil2000 commented on GitHub (Mar 16, 2022):

I'm not sure I follow, how will you ask Screentogif to create the file while it's installing?

<!-- gh-comment-id:1068911701 --> @rashil2000 commented on GitHub (Mar 16, 2022): I'm not sure I follow, how will you ask Screentogif to create the file while it's installing?
Author
Owner

@Polisson commented on GitHub (Mar 16, 2022):

OK, so the simplest way of my understanding...
Two alternative solutions I'm imaging:

  1. scoop installs S2G by placing correctly .exe file and making an empty .xaml file and hardlinking. When done, scoop injects to file such string <ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"></ResourceDictionary>. Here installation is finished
  2. scoop installs S2G by placing correctly .exe file, next launches S2G, kills it, then .xaml hardlinking to persistent dir. Here installation is finished
<!-- gh-comment-id:1069064138 --> @Polisson commented on GitHub (Mar 16, 2022): OK, so the simplest way of my understanding... Two alternative solutions I'm imaging: 1. scoop installs S2G by placing correctly .exe file and making an empty .xaml file and hardlinking. When done, scoop injects to file such string `<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"></ResourceDictionary>`. Here installation is finished 2. scoop installs S2G by placing correctly .exe file, next launches S2G, kills it, then .xaml hardlinking to persistent dir. Here installation is finished
Author
Owner

@rashil2000 commented on GitHub (Mar 16, 2022):

The first method sounds elegant. Can you make a PR for it?

<!-- gh-comment-id:1069121849 --> @rashil2000 commented on GitHub (Mar 16, 2022): The first method sounds elegant. Can you make a PR for it?
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/ScreenToGif#598
No description provided.