Is there a way to convert a non-Chocolatey installed program into a Chocolatey installed one?

I have a few programs that have been installed using non-Chocolatey methods (.msi packages, setup.exe, etc.). I have recently started using Chocolatey and would like to use it to update these programs.

Is there a way I can do this or do I need to uninstall the programs and reinstall them using Chocolatey?


Solution 1:

The answer I believe will be, "it depends". :-)

The majority of packages on Chocolatey are simply wrappers to the underlying MSI's and EXE's that you would ultimately be running manually yourself, it just automates the process.

In theory, if you run Chocolatey for a package that is already installed, when the MSI or EXE is run, it should detect that it is already installed, and exit. However, how cleanly this happens will impact on how Chocolatey reacts. If this exits with an error code, Chocolatey will report back that the installation failed, even though it is already installed. If it exits cleanly, Chocolatey will now "know" about the installation, and everything will be happy.

You might get into trouble when the Chocolatey package does "other stuff" as part of the installation, i.e. set registry keys, extract files to certain locations, etc. Depending on how many packages we are talking about there, I personally would be tempted to uninstall them manually and then have Chocolatey do the work.

UPDATE:

In addition to the above, it would be worth checking out the new Licensed Version features of Chocolatey.