Create msi with CPack (Windows)

(G)Introduction

Build msi installer in Visual Studio and create it.

(G)Steps for creating without including doxygen document

By default, document build is not generated because it is OFF.

Right-click "PACKAGE" from the solution explorer of Visual Studio, select "Build" and execute.

doxygenoff 1-1.png

(G)Steps for creating doxygen documents

Change the following line of CMakeLists.txt immediately under the project folder from OFF to ON.
In case of C++ RTC, it is around 86th row, and in Python RTC it is around 77th line.

 option (BUILD_DOCUMENTATION "Build the documentation" ON) * Rewrite OFF in this line to ON. (Default is OFF)

  1. Right-click "doc" from Solution Explorer of Visual Studio, select "Build" and execute.

    doxygenon 1-1.png

  2. After building with "doc", right click on "PACKAGE" and select "Build".

    doxygenon 1-2.png

【Notes】
  • Make sure "BUILD_DOCUMENTATION" is checked in CMake's configure.
  • Build "doc" first, then build "PACKAGE". Build "PACKAGE" without building "doc" will result in an error.

(G)msi installer storage location, filename

If it succeeds, it is saved in [build] of the project directory.
The file name is "RTC project name + RTC version number_OpenRTM-aist version number_architecture".

(Example) Flip100_rtm120_win64.msi
(*) The architecture is [win32] or [win64].
  The version number is a format without the dot, [1.0.0] is [100].

(G)Installing/Uninstalling msi

(G)Installation

  1. Double click on the created msi installer.

  2. Click the [Next] button.

    msi_install 1-1.png

  3. Check [I agree to the license agreement] and click [Next].

    msi_install 2-1.png

  4. Click the [Next] button.
    The default installation path is as follows.
    (Example) C:\Program Files\OpenRTM-aist\1.1.0\Components\c++\ImageProcessing\
    ImageProcessing is the name specified in RTCBuilder's "module category"
    msi_install 3-1.png

  5. Click [Install] to start the installation.

    msi_install 4-1.png

    msi_install 4-2.png

  6. Click [Finish] and exit the installer. After installation, it is registered in the start menu.

    msi_install 5-1.png

(G)GUID setting for upgrade

When upgrading, you need to set the GUID to check the already installed version. Since GUID is not set by default, a new GUID is assigned every time PACKAGE is built in Visual Studio. By setting the GUID in advance, it is possible to judge whether it is upgrade or new installation.
The procedure for setting the GUID is as follows.

  1. Right-click "PACKAGE" from Solution Explorer in Visual Studio, select "Build" and execute.

    msi_upgrade 1-1.png

  2. When the build is completed, the GUID is displayed on the following output screen, so select it and copy it.

    msi_upgrade 2-1.png

  3. Expand "ALL_BILD" from Solution Explorer and click CMakeLists.txt.

    msi_upgrade 3-1.png

  4. Paste the GUID you copied in step 2 as shown below, overwrite and save CMakeLists.txt.

    msi_upgrade 4-1.png

  5. Again, right-click "PACKAGE" from Solution Explorer, select "Build" and execute.

    msi_upgrade 5-1.png

[Supplement]
In addition to the above, you can also create a new GUID to create a GUID.
Select [Tools] > [Create GUID] from the Visual Studio menu to display the "Create GUID" dialog.

  1. In [GUID format], select [4. Registry format ...].
  2. Click the [New GUID] button.
  3. Click the [Copy] button.
  4. Click the [End] button to close the dialog.

    msi_upgrade 6-1.png

  5. Paste it into CMakeLists.txt and overwrite it as shown in the screen below. *paste only numerals.

    msi_upgrade 4-1.png

(G)Uninstall

Below is the uninstall procedure.

(G)How to delete from the control panel

  1. Open [Control Panel] and click [Uninstall a program].

    msi_uninstall 0-1.png

  2. Select the installed package name and click [Uninstall].

    msi_uninstall 0-2.png

  3. Uninstallation is completed if the display disappears from the control panel list.

(G)How to delete from the installer

  1. Double click on the created msi installer.

  2. Click [Delete].

    msi_uninstall 1-1.png

  3. Click [Delete].

    msi_uninstall 2-1.png

    msi_uninstall 2-2.png

  4. Click [Finish] and exit the installer.

    msi_uninstall 3-1.png

(G)IDL compilation process of Python RTC with service port

Python RTC with service port performs IDL compilation at package installation. Since this operation is realized by idlcompile.bat, delete.bat in the project folder when IDL compilation is executed, it is necessary to note that if these files are deleted, they will not function.
By uninstalling from the control panel, files created after IDL compilation are also deleted.

Below is a list of files installed by msi installer. ★ A file is generated by IDL compilation.

 tree /f installation directory\OpenRTM-aist\1.1.0\Components\Python\Category\FlipGUI
 C:\installation directory\OpenRTM-aist\1.1.0\Components\Python\Category\FlipGUI
 │  BasicDataType_idl.py ★
 │  CalibrationService_idl.py ★
 │  delete.bat
 │  ExtendedDataTypes_idl.py ★
 │  idlcompile.bat
 │  InterfaceDataTypes_idl.py ★
 │  RTC.xml
 │  rtutil.py
 │  setup.py
 │  flipgui.py
 │  FlipGUIComp.py
 │
 ├─idl
 │   BasicDataType.idl
 │   CalibrationService.idl
 │   CMakeLists.txt
 │   ExtendedDataTypes.idl
 │   InterfaceDataTypes.idl
 │
 ├─ImageCalibService ★
 │   __init__.py ★
 │
 ├─ImageCalibService__POA ★
 │   __init__.py ★
 │
 ├─RTC ★
 │   __init__.py ★
 │
 └─RTC__POA ★
       __init__.py ★