Help

2

How to build Odoo 10 for windows as an executable software?

Avatar
Corey Mack

How to build Odoo 10 for windows as an executable software?

Is there any tutorial available for it?

1 Comment
Avatar
Discard
2 Answers
8
Avatar
Dhinesh
Best Answer

Odoo custom build guide for Windows OS:

I created this guide for my personal reference. So I try to keep it short and clear.

This will focus only on Odoo 8 in Windows 7 environment and can be easily adapted to later versions.

OS: Windows 7, Odoo Version: 8

1) Install Python27 (https://www.python.org/downloads/windows/).

2) Install PIP.

Odoo windows packaging files are available at https://github.com/odoo/odoo/tree/8.0/setup/win32

You have to be on Windows host to build .exe for Odoo due to the fact that the Makefile (https://github.com/odoo/odoo/blob/8.0/setup/win32/Makefile#L7) was using the Cygwin's cygdrive emulated path.

3) Assuming that Windows was the host machine and we can proceed to install Cygwin (https://cygwin.com/install.html)

While installing Cygwin, you will get an option to select the supporting packages. Make sure you select the category python and devel with it.

Once Cygwin installation is done, open the Cygwin's terminal and enter "make". If you got "make: *** No targets specified and no makefile found. Stop.", then you're good to go.

4) Use your favorite git client (mine is http://www.mingw.org/ or you can use the Cygwin if you want to) and clone the Odoo repo.

git clone https://www.github.com/odoo/odoo --depth 1 --branch 8.0 --single-branch

Since we are building for 8.0, a single branch is enough for this tutorial.

5) Install the dependency packages from the req.txt file from Odoo repo.

https://github.com/odoo/odoo/blob/8.0/requirements.txt

https://github.com/odoo/odoo/blob/8.0/doc/requirements.txt

6) Static folder for the third party software's like WkHtmltoPdfPostgreSQL etc are placed at this static folder. https://github.com/odoo/odoo/tree/8.0/setup/win32/static

7) Download the PostgreSQL from https://www.postgresql.org/download/windows/ and place it under static folder.

8) For the WkHtmltoPdf, the recommended version is 0.12.1 and is available on the WkHtmltoPdf download page, in the archive section.

Download from http://download.gna.org/wkhtmltopdf/0.12/0.12.1/ and put the necessary files based on arch under static folder.

9) The images for the setup file needs to be placed on https://github.com/odoo/odoo/tree/8.0/setup/win32/static/pixmaps

10) Edit the https://github.com/odoo/odoo/blob/8.0/setup/win32/Makefile.version and enter VERSION=8.0

Files you might be interested in:

Service: https://github.com/odoo/odoo/blob/8.0/setup/win32/win32_service.py

Setup: https://github.com/odoo/odoo/blob/8.0/setup/win32/win32_setup.py

Makensis: https://github.com/odoo/odoo/blob/8.0/setup/win32/setup.nsi

Package: https://github.com/odoo/odoo/blob/8.0/setup/package.py

11) Change the NSI file based on your need which is available at https://github.com/odoo/odoo/blob/8.0/setup/win32/setup.nsi

If you are using the NSIS from the http://nsis.sourceforge.net/ and installed at a different location from the default, you may have to change the path to makefile on the following file:

https://github.com/odoo/odoo/blob/8.0/setup/win32/Makefile#L12

12) Finally, the build command is Open the Cygwin's terminal and navigate to https://github.com/odoo/odoo/tree/8.0/setup/win32.

Enter "make -f Makefile"

On the successful run, final "openerp-allinone-setup-8.0.exe" will be available in the same folder.


2 Comments
Avatar
Discard
Avatar
Paulo Matos
-

Hi @Dhinesh

Thank you for sharing this.

I have some questions and I hope you can help me:

-- Step 1 and 2 believe have to be done on the host itself (no cygwin);

-- Steps 4-5 are to be executed on windows machine or on cygwin? There is, should I install de dependwncies on cygwin or on windows? And as per the Odoo repo? Should I pull it under windows or cygwin?

-- I believe from step 6 I have to do everything from windows host and not cygwin. So, my question is, how can I navigate to my local Odoo repo structure via cygwin? I will need to do it on step 12?

Thank you very much

Regards

PM

Avatar
Paulo Matos
-

Hello @Dhinesh,

I am following this lines for Odoo 12 and found some problems during the exe compilation.

This is related to the location of some required components that needs to be packad with the final .exe and we can find them on the setup.nsi.

Starting from the line 211 (https://github.com/odoo/odoo/blob/ebd1fd6c02ea6882df57e89c3c27f59c0b97b12f/setup/win32/setup.nsi#L209), we have:

File /r /x "__pycache__" "..\..\..\WinPython\python-3.6.2\*"

File /r /x "src" "..\..\..\nssm-2.24\*"

File /r "..\..\..\vcredist\*.exe"

Every time I try to build, system fails and breaks execution with a "file not found error"

My question is, where should I copy this files/folders? This needs to be placed on "cygwin" or on some folder on host machine?

Thank you very much

0
Avatar
Ary Gustanto
Best Answer

Odoo 10's requirements need psutils, but psutils is not supported in cygwin

Avatar
Discard