The following might be missing something, please revise.
-
You probably want to be on a tagged version of the apps repo.
-
In the root of the apps repo, build the windows exes and place the resulting exes in this directory. I guess this currently only works on Linux.
make windows
The Makefile in this directory has a target
exes
that does the build and copying. -
Install Wix 3:
- Install the required .NET 3.5:
- Go to
Control Panel » Programs and Features » Turn Windows features on or off
- Tick
.NET Framework 3.5 …
(and the sub headings), and let it install.
- Go to
- Download and install: https://github.com/wixtoolset/wix3/releases/tag/wix3112rtm
- Install the required .NET 3.5:
-
Open a terminal in this directory. We have a script that builds the msi using Wix candle & light tools.
The script takes the version number of the package that it should produce. We shall pass the typical tagged version, and a 4th digit (0) will be added, per windows convention.
./build-msi.bat 0.0.6
-
You can try installing the msi with:
msiexec /i tkey-ssh-agent-0.0.6.0.msi`
You can first build the windows exes and copy them here, and then build the msi with a specific version like this:
make exes
make SEMVER=0.0.6 msi
This uses the ghcr.io/tillitis/msi-builder:1
image, which can be
built locally using the Makefile's build-msi-builder
target.
We do not enable the agent to run automatically at startup, leaving
this to the decision of the user. But we do install a shortcut in the
folder for "All Users Start Menu Programs", so it ends up on the
user's Start Menu (in TKey SSH Agent\TKey SSH Agent
). Running this
shortcut starts the tray executable with our default arguments --uss -a tkey-ssh-agent
. User can copy this shortcut to their "Startup"
folder, as described in this
article.
Or by running the following PowerShell commands:
$w = new-object -comobject wscript.shell
$prgs = $w.specialfolders('allusersprograms')
$startup = $w.specialfolders('startup')
copy "$prgs\TKey SSH Agent\TKey SSH Agent.lnk" "$startup\"
Also, the default configuration relies on finding a pinentry
program
from the Gpg4win package. It can be installed by running winget install GnuPG.Gpg4win
manually. Note that winget does not have
support for dependencies that are pulled in automatically. But since
the msi package will also be available as a winget package, this
dependency seems fine.