Bitvise SH Client Installation error. CreateDirectory() failed: Windows error 5: Access is denied

Logging: Always create an MSI log for debugging when encountering any deployment problems. See that link for hints on interpreting the log file content. Search for “value 3” first of all:

msiexec.exe /i C:\Path\Your.msi /L*vx! C:\Your.log

In general: check vendor web sites and / or user forums to figure out details on known issues. It could be a permission issue on your TEMP folder.


Emergency Approach: Use a clean virtual machine to get the software running. Try different OS-versions. Just for a heartbeat in a pinch. Or try someone else’s computer. Obvious yes, but try it if you can.

Keep in mind that “very clean” virtuals (there is absolutely nothing on there – just a fresh OS) could lack certain runtimes that might be “taken for granted” and hence missing from an installer. VCRuntime, .NET versions and such. Just in case you see mysterious errors there too.


First Checks: A simplified, generic check-list for deployment issues:

  1. AD / Group Policies: Corporate environments could have group policies and restrictions preventing the installation of anything at all. Check that first.

  2. Installation Media: Re-download installation media to ensure its integrity.

    • Corrupted by malware: Note that malware or other factors can corrupt downloaded files, but more commonly they are destroyed in-transit.
    • Wrong Bitness: The setup could be for the wrong CPU architecture or bitness. See towards bottom.
    • Corrupted by scanners: Security suites, firewalls, corporate blocks and the likes can cause problems (separate issue below – not sure if anti-virus programs try to clean binaries anymore? Block they certainly do).
    • Incomplete download: Launching before download is fully finished (premature launch) is a classic weirdness – error messages are generally ok, but can be misleading. Remember to allow anti-virus scanners to complete their post-download scan. This can take much longer than you think (they hash the file, check their site, etc…).
    • Download mirror issue: Sometimes the download comes from a number of download servers, some of which could be corrupted or contain faulty media or be misconfigured. Download again – check with virustotal.com and repeat a few times to verify. Have your colleague in another office download? Different mirror likely (automatic load-balancing – when you can’t pick another server yourself).
    • Network Problems (LAN): When you have problems, try to copy installation files to a local location (the desktop will do) to eliminate any LAN network issues as the source of your deployment problem. If there are network problems file copy might fail with a proper warning message? Network related fallacies. More towards bottom.
  3. Missing Runtimes: A few, very core-runtimes can make setups fall over. This is particularly common on virtual machines that are “fresh” and basic.

    • Examples would be: VCRedist (in particular), .NET, Powershell, etc…
    • Lacking and more advanced components such as IIS, MSSQL, .NET Core, Java, etc… can also make some badly authored setups fall over.
  4. Admin Rights: Ensure you have real admin rights on the box in question. In other words you are logged on using a real administrator account. Avoid "run-as" if you have a failure to look at. Try a real login.

  5. Reboot: Just to try the obvious. Ensure there are no pending Windows Updates afterwards.

  6. Clean Slate: Close down all applications before running your setup. This sorts out various locks and blocking happenstances. Preferably reboot first and run the setup the first thing you do when the machine is back up again. Give the machine enough time to be idle – everything started (services and such).

  7. Disk Space & Integrity: Ensure available free disk space AND that there are no errors on disk.

  8. Different user: Try installing as a different and real admin user. The important thing here is that this is a different admin account than you first tried (user account profile issues). So, in other words log in as a real admin user and don't just use "run as". An example of a problem could be someone who has messed up their user profile shell folder settings so that the directory table resolution of MSI fails. Another user profile would normally be unaffected and still work OK.

  9. ACL – Access Control: Very often access denied can be related to custom NTFS ACL configration that is erroneous. This leads to unexpected access denied. This can also occur from Windows Updates tightening security or fixing security holes or even malware.

  10. Malware check: Run anti-virus or Windows Defender to verify that you don’t have a malware issue on your box. Additionally check the installation media with https://www.virustotal.com/ to ensure it is not malware itself! (the setup.exe could be infected, or the whole product could be malware outright – never know).

  11. Security Software Interference: Anti-virus, firewalls, scanners and other security products can be overactive and block access to a folder or a resource so it looks like it is an ACL permission issue. Disable temporarily if possible when required. Do anti-virus software still try to fix binaries in the age of digital certificates? I am not sure. Always check installation file using virustotal.com.

  12. Localized Setups: Sometimes setups made for other languages than English – or rather another language than the original setup (could be any language) – fail on systems with other languages installed and in use. Try on a clean virtual with the “setup-expected language”. Problems like these indicate VERY bad setup design (hard coded localized paths, incorrect server paths or addresses due to translation errors, etc...) – but due to QA resources they are not uncommon. In essence the main-language version is generally (in almost all cases) put through better testing.

  13. Mount Points: Some disks have mounted drives in folders and such things – this can cause some seriously weird problems. Try on a clean virtual with no drama-settings.

  14. NTFS / FAT32: (Somewhat edge-case). It is no longer possible to install Windows 10 on a FAT32 drive – with the limitations that strike (no ACL permissions, max 4gb files, no journaling and such). However, the setup could be redirected to a non-system FAT32 partition or some other disk format. This could trigger security problems (no ACL permissions), but should not generally create any access denied issues – barring any custom actions trying to apply ACL permissions and failing (this might degrade gracefully by now, I don’t know). However there are file size limitations in FAT32 disks (4gb) that might actually trigger errors these days for huge setups (games, video files, etc…). Note that downstream Windows OSs might still allow FAT32 system partitions. And finally – and importantly – FAT32 is not a journaling file system. This means data corruption can easily happen without self-correction.

  15. Flagged Downloaded File: In newer versions of Windows downloaded files are flagged as “This file came from another computer and might be blocked to help protect this computer“. See screenshot below. Read more details about the feature here and Digital signatures, false positives, tagged downloaded file. Just make sure your file does NOT have this flag (I do not have a complete overview of all problems that can result from this):

    Downloaded file - flag

  16. Odds and Ends: There are additional things such as setups being to old to install properly (they don’t handle modern Windows features well – you can try to run the setup in compatibility mode by enabling this in the property page for the setup.exe file itself) and older Installshield setups had lots of DCOM-based installscript engine issues and such things. Other setup vendors have their own problems – and quite a few of them for older setups. Brand new stuff, and ancient stuff – always surprises.

  17. Network Problems (LAN): This is mentioned above in the “Installation Media” section. You can copy files locally to try to eliminate LAN network problems as a source of problem (SAMBA problems, network overload and packet loss, interfering scanners, timeouts, etc…). You might get a real error message if you try to copy local. Try to download file directly from the Internet vendor site to the desktop as a test. Network related fallacies.

  18. Update: Incompatibilities: It happens that software can’t co-exist properly. These situations can be rather obvious (COM version incompatibilities, setups designed to detect existing software and prevent themselves from installing, setups in different language versions quarreling, etc…) or quite hard to work out (deep-seated driver problems, hardware peculiarities, anti-virus false positives or otherwise unsolvable problems). Make sure you test your setup on a clear virtual whenever you have problems. You can also use that as a “solution” if it works – have people run incompatible software on virtuals – obviously one of the key use cases for virtuals (there are many others).

  19. Wrong Bitness: The setup could be the wrong bitness (x64 on 32 bit system) or architecture such as Itanium (incompatible with normal x64 systems).


Leave a Comment