Notices: This section not yet converted to new layout. Download stats are rolling back out.

This is not the latest version of FreeCommander XE available.

FreeCommander XE


Package test results are passing.

Private CDN cached downloads available for licensed customers. Never experience 404 breakages again! Learn more...

This package was approved by moderator purity on 3/9/2015.

FreeCommander is an easy-to-use alternative to the standard windows file manager. The program helps you with daily work in Windows. Here you can find all the necessary functions to manage your data stock. You can take FreeCommander anywhere - just copy the installation directory on a CD or USB-Stick - and you can even work with this program on a foreign computer.

To install FreeCommander XE, run the following command from the command line or from PowerShell:

C:\> choco install freecommander-xe --version 2015.685

To upgrade FreeCommander XE, run the following command from the command line or from PowerShell:

C:\> choco upgrade freecommander-xe --version 2015.685


  • tools\chocolateyInstall.ps1 Show
    #NOTE: Please remove any commented lines to tidy up prior to releasing the package, including this one
    $packageName = 'FreeCommander' # arbitrary name for the package, used in messages
    $installerType = 'EXE' #only one of these: exe, msi, msu
    $url = '' # download url
    $url64 = '' # 64bit URL here or remove - if installer decides, then use $url
    $silentArgs = '/VERYSILENT /SUPPRESSMSGBOXES /NORESTART /SP- /LANG=RU' # "/s /S /q /Q /quiet /silent /SILENT /VERYSILENT" # try any of these to get the silent installer #msi is always /quiet
    $validExitCodes = @(0) #please insert other valid exit codes here, exit codes for ms
    	#error handling is only necessary if you need to do anything in addition to/instead of the main helpers
    	$chocTempDir = Join-Path $env:TEMP "chocolatey"
    	$tempDir = Join-Path $chocTempDir "$packageName"
    	$tempDir = Join-Path $tempDir "unzip"
    	if (![System.IO.Directory]::Exists($tempDir)) { [System.IO.Directory]::CreateDirectory($tempDir) }
    	Install-ChocolateyZipPackage "$packageName" "$url" "$tempDir"
    	$exeFilePath = get-childitem $tempDir -recurse -include *.$installerType | select -First 1
    	Install-ChocolateyInstallPackage "$packageName" "$installerType" "$silentArgs" "$exeFilePath"
    	Remove-Item "$tempDir" -Recurse
    	Write-ChocolateySuccess "$packageName"
    	Write-ChocolateyFailure "$packageName" "$($_.Exception.Message)"
  • tools\chocolateyUninstall.ps1 Show
    $packageName = 'freecommander.xe -Version 2015.685'
    Write-Debug ("Starting " + $MyInvocation.MyCommand.Definition)
    [string]$packageName = "freecommander.xe -Version 2015.685"
    # We start by retrieving all the app names and uninstall strings from the 64 bit app location (Hey its 2014 and all your OSs are 64 bit arent they? :-))
    # This would be the 32 app location if your OS is 32 bit
    $uninstallapplist = @(Get-ChildItem HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall |
    foreach-object { get-itemproperty $_.PSPath } |
    select-object DisplayName, QuietUninstallString |
    Where-Object { $_.DisplayName -ne $null -and $_.QuietUninstallString -ne $null })
    # Next we add the 32 bit apps - Remove this if your OS is 32 bit only
    $uninstallapplist += @(Get-ChildItem HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall |
    foreach-object { get-itemproperty $_.PSPath } |
    select-object DisplayName, QuietUninstallString |
    Where-Object { $_.DisplayName -ne $null -and $_.QuietUninstallString -ne $null })
    # Lastly we add apps that are installed as User based rather than machine based
    # Sometimes this key doesnt exist so to prevent an error we check to see if it exists first
    # As this is user based, this will not pick up apps installed under another userid!!!
    if (test-path HKCU:\Software\Microsoft\Windows\CurrentVersion\Uninstall)
    	$uninstallapplist += @(Get-ChildItem HKCU:\Software\Microsoft\Windows\CurrentVersion\Uninstall |
    	ForEach-Object { get-itemproperty $_.PSPath } |
    	select-object DisplayName, QuietUninstallString |
    	Where-Object { $_.DisplayName -ne $null -and $_.QuietUninstallString -ne $null })
    # Next we filter the list to retrieve only those programs that we want to uninstall
    # Note that we want to specify a wildcard string that will target a specific application correctly (i.e. not multiple matches, unless thats what you want)
    # We also want to make the wildcard sort of future proof by omitting any version information (unless you want to target a specific version)
    # If you dont know what string to look for just run the above code and add the line "$uninstallapplist | out-gridview" to check all current entries
    # I found with version 4 of powershell that the entries were doubling up for some reason - hence the sort unique
    $uninstallapplist = $uninstallapplist | Where-Object {
    	$_.DisplayName -like "*freecommander*"
    } |
    sort-object DisplayName -Unique
    # Now that we have the list - let's go through each one and uninstall it
    foreach ($app in $uninstallapplist)
    	write-host "Uninstalling $($app.displayname) ...."
    	if ($app.QuietUninstallString -like "msiexec.exe*")
    		# If the uninstall string starts with msiexec we are going to run it differently
    		$app.QuietUninstallString = $app.QuietUninstallString -replace "/I", "/X" # Some developers put a /I instead of a /X so we first change that
    		$app.QuietUninstallString = $app.QuietUninstallString -replace "msiexec.exe ", "" # next we get rid of the msiexec program and just keep the arguments
    		$app.QuietUninstallString = "$($app.QuietUninstallString) /qn" # we add the /qn for silent uninstalls
    		# And the following command uninstalls the program...
    		$retcode = (start-process -filepath "msiexec.exe" -ArgumentList "$($app.QuietUninstallString)" -wait -passthru).exitcode
    		# If you get a return code of 1603 with an error about a program not being found it probably means that the original source files no longer exist (i.e. where it was installed from)
    		# In that case it may very well still uninstall successfully - thats for you to test
    	# If the uninstall command is not an msiexec program then we do things differently - Note: I have included the following code but not tested it yet - It should work :-)
    		# If the uninstall command itself has double quotes around it because it has spaces in the path, then we have to use the "&" prefix
    		if ($app.QuietUninstallString[0] -eq '"') { Invoke-Expression "& $($app.QuietUninstallString)" }
    		# Otherwise we just invoke the uninstall string
    		else { Invoke-Expression $app.QuietUninstallString }
    		# and get the exit code
    		$retcode = $LASTEXITCODE
    	write-host "$($app.displayname) uninstalled - Return code: $retcode"
      Write-ChocolateySuccess $packageName
    } catch {
      Write-ChocolateyFailure $packageName $($_.Exception.Message)

Virus Scan Results

In cases where actual malware is found, the packages are subject to removal. Software sometimes has false positives. Moderators do not necessarily validate the safety of the underlying software, only that a package retrieves software from the official distribution point and/or validate embedded software against official distribution point (where distribution rights allow redistribution).

Chocolatey Pro provides runtime protection from possible malware.


This package has no dependencies.

Package Maintainer(s)

Software Author(s)

  • Omnividente


Marek Jasinski


Version History

Version Downloads Last updated Status
FreeCommander XE 2015.685 1163 Thursday, March 5, 2015 approved

Discussion for the FreeCommander XE Package

Ground rules:

  • This discussion is only about FreeCommander XE and the FreeCommander XE package. If you have feedback for Chocolatey, please contact the google group.
  • This discussion will carry over multiple versions. If you have a comment about a particular version, please note that in your comments.
  • The maintainers of this Chocolatey Package will be notified about new comments that are posted to this Disqus thread, however, it is NOT a guarantee that you will get a response. If you do not hear back from the maintainers after posting a message below, please follow up by using the link on the left side of this page or follow this link to contact maintainers. If you still hear nothing back, please follow the package triage process.
  • Tell us what you love about the package or FreeCommander XE, or tell us what needs improvement.
  • Share your experiences with the package, or extra configuration or gotchas that you've found.
  • If you use a url, the comment will be flagged for moderation until you've been whitelisted. Disqus moderated comments are approved on a weekly schedule if not sooner. It could take between 1-5 days for your comment to show up.

comments powered by Disqus uses cookies to enhance the user experience of the site.