NickeManarin/ScreenToGif · error · ApplicationException
Gifski not present.
Error message
Gifski not present.
What it means
EncodingManager throws ApplicationException when the user picks the Gifski encoder but PathHelper.IsGifskiPresent() returns false. IsGifskiPresent checks UserSettings.All.GifskiLocation, the app folder, the ProgramData folder, and the PATH environment variable for gifski.dll; if none resolves to an existing file, encoding is aborted before any frame is processed.
Source
Thrown at ScreenToGif/Util/EncodingManager.cs:787
#endregion
break;
case EncoderTypes.FFmpeg:
await EncodeWithFfmpeg(preset, project.FramesFiles, id, tokenSource, processing);
break;
case EncoderTypes.Gifski:
{
#region Gifski encoding
Update(id, EncodingStatus.Processing, null, true);
if (preset is not GifskiGifPreset gifskiGifPreset)
return;
if (!PathHelper.IsGifskiPresent())
throw new ApplicationException("Gifski not present.");
if (File.Exists(preset.FullPath))
File.Delete(preset.FullPath);
var size = project.FramesFiles[0].Path.ScaledSize();
try
{
using var gifski = new GifskiInterop();
var handle = gifski.Start((uint)size.Width, (uint)size.Height, gifskiGifPreset.Quality, gifskiGifPreset.RepeatForever, gifskiGifPreset.Fast);
if (gifski.IsOlderThan0Dot9)
{
#region Older
ThreadPool.QueueUserWorkItem(delegate
{
Thread.Sleep(500);View on GitHub (pinned to a4d0a67c21)
Solutions
- Open Options > Plugins and download gifski.dll, or point the Gifski location to an existing gifski.dll.
- Run the 64-bit build of ScreenToGif — gifski is x64-only.
- Restore gifski.dll to the app folder or to %ProgramData%\ScreenToGif\.
- Re-validate with PathHelper.IsGifskiPresent() in the export panel before allowing the user to start the export.
Example fix
// before
if (!PathHelper.IsGifskiPresent())
throw new ApplicationException("Gifski not present.");
// after
if (!PathHelper.IsGifskiPresent())
throw new ApplicationException("Gifski not present. Download gifski.dll via Options > Plugins or set the path. (x64 build required.)"); Defensive patterns
Strategy: validation
Validate before calling
if (preset is GifskiGifPreset && !PathHelper.IsGifskiPresent())
{
// disable the export button, prompt download via Options > Plugins
} Type guard
bool CanUseGifskiEncoder => Environment.Is64BitProcess && PathHelper.IsGifskiPresent();
Try / catch
try { /* encode with Gifski */ }
catch (ApplicationException ex) when (ex.Message == "Gifski not present.")
{ /* open Plugins settings to download gifski */ } Prevention
- Gate the Gifski encoder option behind IsGifskiPresent() in the UI.
- Ship or download gifski.dll to %ProgramData%\ScreenToGif\ on first run.
- Warn explicitly on 32-bit builds since gifski is x64-only.
When it happens
Trigger: Export with EncoderTypes.Gifski when gifski.dll cannot be located by AdjustPath(GifskiLocation), AdjustPath("gifski.dll"), %ProgramData%\ScreenToGif\gifski.dll, or any PATH entry. The 32-bit build also fails because gifski is x64-only.
Common situations: Fresh install where gifski was never downloaded; user picked Gifski encoder type without first downloading the binary via Options > Plugins; gifski.dll was deleted by AV or the user; 32-bit ScreenToGif build; the configured GifskiLocation points to a moved/renamed file.
Related errors
- Error while encoding the gif with Gifski. Empty output file.
- FFmpeg not present.
- Error while encoding the {preset.Type} with FFmpeg.
- Missing upload preset called {preset.UploadService}
- history.Message
AI-assisted analysis of NickeManarin/ScreenToGif@a4d0a67c21 (2026-08-13).
Data as JSON: /api/errors/38e408ce04ba331a.
Report an issue: GitHub.