Before you package it
The installer is not code signed yet. On a managed fleet, Windows SmartScreen and Application Control will treat it as an unknown publisher, and users running it by hand will see a warning. If your environment requires signed binaries, this build will not pass — that is a straight answer rather than a workaround, and signing is the next thing on our list. Until then, verify the installer by its SHA-256 and distribute it from your own software library rather than asking people to download it.
Verifying a download
Every release publishes a SHA-256 next to its installer on the releases page. Check it before the file goes anywhere near your fleet:
Get-FileHash '.\PodallsConvert-Setup.exe' -Algorithm SHA256 What the installer does
- Installer size
- See the published installer on the releases page.
- Format
- A single self-contained .exe, built with Inno Setup 6
- Architecture
- 64-bit only. A 32-bit machine is refused by the installer.
- Minimum Windows
- Windows 10 version 1809. Windows 11 is what we test and support.
- Prerequisites
- None. It is statically linked and brings its own PDF and video engines (PDFium and FFmpeg), so no Visual C++ redistributable is needed.
- Default scope
- Per user, with no administrator prompt. Pass /ALLUSERS to install for the whole machine instead.
- Install location
- %LOCALAPPDATA%\Programs\Podalls Convert per user, or C:\Program Files\Podalls Convert with /ALLUSERS
- Detection key
- …\CurrentVersion\Uninstall\{BD36BA8F-3A5B-444A-9285-7E29094A3D8B}_is1, under HKCU or HKLM to match the scope
- File associations
- Adds itself to "Open with" for PDF, EPUB and FB2 files without becoming the default app. Removed on uninstall.
- Setup tasks
- openwith and openwithbooks (the "Open with" entries, on by default) and desktopicon (off by default).
- Settings
- %APPDATA%\Podalls Convert\settings.txt
- Upgrades
- Installing a newer version closes a running copy and replaces it.
Installing unattended
It is a standard Inno Setup package, so it takes Inno's switches. The first line is what most deployments want:
/ALLUSERS /VERYSILENT /NORESTART /SUPPRESSMSGBOXES- What most fleet rollouts want: one copy for every user on the machine, nothing shown, nothing prompted. Needs to run as administrator.
/CURRENTUSER /VERYSILENT /NORESTART- Unattended install for the signed-in user only. This is the default if neither switch is given, and it needs no administrator rights.
/SILENT /NORESTART- A progress window but no wizard, for when someone is watching the machine.
/DIR="D:\Apps\Podalls Convert"- Installs somewhere other than the default location.
/LOG="C:\Windows\Temp\podalls-install.log"- Writes a full install log, for when a rollout fails on one machine and not another.
/MERGETASKS="desktopicon,!openwithbooks"- Adds or removes setup tasks from the defaults. Prefix a task with ! to leave it out.
/NOCANCEL- Prevents the user cancelling an install that has already started.
Exit codes
0- Installed successfully
1- Setup could not start, or a switch was wrong
2- Cancelled before anything was installed
3- A fatal error occurred while preparing to install
5- Cancelled while installing
8- Installed, and Windows must restart to finish
What it talks to
Conversion, editing and every other tool run entirely on the machine. The only reason the app opens a connection is to look for a newer version, so an air-gapped install is a supported way to run it, not a broken one.
- github.com
- Reads the update manifest attached to the newest release, over HTTPS.
- release-assets.githubusercontent.com
- GitHub redirects both the manifest and the installer here. GitHub chooses this host, so check it again if updates stop working behind an allowlist.
- Nothing else
- No analytics, no crash reporting, no licence check. These two hosts are the only ones the app is built to reach. Links such as Feedback open in your default browser.
Controlling updates
- Default
- On. It checks about once a day, 15 seconds after the app starts.
- Turning it off
- Settings › "Check automatically". A manual "Check for updates" button remains.
- Without a connection
- Nothing is shown and the app does not wait on it. A failed check is tried again quietly about an hour later.
- Blocking it instead
- Denying the two hosts above leaves every feature working, and you push versions yourself.
The switch is per user, so a fleet-wide policy that turns updates off for everyone is not something the app offers yet. Blocking the two hosts achieves the same result today, and if you need a real machine-wide policy, say so — it is a reasonable thing to build and we would rather hear it from you than guess.
Pinning a version
Installers stay on the releases page permanently, each one addressed by its own version. To standardise a fleet on a known build, take that version's installer, verify its SHA-256, and host it in your own distribution point. Nothing expires and nothing phones home to authorise it.
Removing it
The uninstaller sits beside the app as unins000.exe and takes the same silent
switches: unins000.exe /VERYSILENT /NORESTART. Its full path is in the UninstallString of the detection key above, which is the reliable way to find it
from a script. Settings in %APPDATA% are left behind, and documents you converted are
ordinary files in your own folders, untouched.
Licensing and data
There is no account, no licence server and no seat activation, so there is nothing to procure per user and nothing to reconcile at renewal. What the app does and does not handle is set out in the privacy policy.
Questions this page does not answer
Fleet rollouts turn up requirements that generic documentation cannot predict — an MSI instead of an .exe, a machine-wide update policy, a signed build on a schedule you can plan around. Ask through the issue tracker on GitHub and you will reach someone who can answer specifically rather than a support queue.