Warning
Use this information at your own risk.

Introduction

As mentioned previously, I work as a developer at a corporate. The development experience on a no-admin-rights Windows machine is horrendous. The following quote from this SO reply sums it up:

“We value your work so little that we are prepared to significantly compromise your ability to do your job for no good reason. In fact, we are quite happy to do this to cover our own arse, pander to the whims of petty bureaucracy or because we simply can’t be bothered. That’s just the best case. The worst case is that we’re really the type of control freaks that view it as our perogative to tell you how to do your job and what you do or don’t need to do it. Make do with what you’re given and be grateful that you’ve got a job at all.”

This article is about some more tips and tricks to make a no-admin-rights Windows machine more bearable for developers.

My Situation

  1. Github is half-broken: Assets under Github release page won’t load, so I can’t download anything

  2. I can run portable software. I can run .exe outside of the Download folder, but .msi installers require admin rights so they won’t work

  3. I CAN’T visit websites like https://gist.github.com/ (Access To This Site Is Restricted) but they’d allow visiting and downloading software from sourceforge

Success

1. AutoHotkey

Use AutoHotkey to remap CapsLock for Ctrl

The Download button on Autohotkey’s official page doesn’t work because File download is blocked by policy.

I. Download the Setup version of v1.1.36.02 from your personal machine. git push to your work config and sideload them to your work machine. You can also try to download AutoHotkey_1.1.36.02_setup.exe from sourceforge.

II. Unzip AutoHotkey_1.1.36.02_setup.exe and you’d get the following:

AutoHotkey_1.1.36.02_setup
|   AutoHotkey.chm
|   AutoHotkeyA32.exe
|   AutoHotkeyU32.exe
|   AutoHotkeyU64.exe
|   Installer.ahk
|   license.txt
|   setup.exe
|   Template.ahk
|   WindowSpy.ahk
|
\---Compiler
        Ahk2Exe.exe
        ANSI 32-bit.bin
        Unicode 32-bit.bin
        Unicode 64-bit.bin

We only need AutoHotkeyU64.exe. WindowSpy.ahk is also helpful to detect window’s properties.

III. Create the following AHK script swapcapslock.ahk:

#SingleInstance
; #NoTrayIcon ; remove initial ; to hide the ahk tray icon
Capslock::Ctrl

IV. Drag swapcapslock.ahk to AutoHotkeyU64.exe. You should see the ahk icon at the Windows’s tray.

Try it out! Now CapsLock should be swapped for Ctrl. The annoyance is that you need to do this every time when you start up the machine.

2. cmder

cmder is the best portable console emulator for Windows. It just works out of the box.

3. Selenium for a browser history free experience

Use Selenium to spawn a “testing browser”. When you close the browser, it won’t leave any browser history. The Getting Started guide should be enough. Note that your network traffic can still be sniffed.

Failure

1. Windows Subsystem for Linux (WSL2)

WSL2 is not possible. I couldn’t connect to any related URL.

2. cygwin

I found CygwinPortable and cygwin-portable-installer. They both require pulling packages from the internet, which I couldn’t connect to. I guess I could zip all the packages from my personal machine, then sideload them to the work machine, but I haven’t bothered to try it. I guess I could also use Docker to package everything to make Cygwin work, but I have no idea how.

3. msys2

msys2 is not possible for same reason above.

4. PowerToys

I tried finding a portable PowerToys. Probably not happening: Portable Version of PowerToys #20569.

Conclusion

As you can see, there’s not much I can do with such a restricted environment. I was satisfied to just remap CapsLock for Ctrl.

If you have other tricks and tips to enhance the developer experience on such restricted Windows, please don’t hesitate and contact me at email kohane27 at protonmail dot com .