• 
      

    Add a Windows installer for RBTools.

    Review Request #6690 — Created Dec. 11, 2014 and submitted

    Information

    RBTools
    master
    ff84907...

    Reviewers

    This introduces the Windows installer that we'll be shipping with
    official RBTools releases, starting in 0.7. It's based upon Bruce Cran's
    installer work, which makes use of WiX and Portable Python to produce a
    standalone RBTools install independent of any system installs of Python.
    
    This change extends Bruce's work to automate the building of the installer
    and to isolate the build environment from the system. There's a
    build-installer.bat file that handles the installation of Portable Python
    (guiding the user through a Minimal installation on the first build),
    stripping it, installing RBTools and its dependencies, and building the
    WiX installer.
    
    This must run on a Windows install, and does not run automatically when
    we perform builds. It must instead be run manually within a suitable
    Windows build environment. That environment does not need Python installed
    up-front, but does need WiX and MSBuild.exe (part of Visual Studio or
    MS Build Tools, though currently only tested with the former).

    Built a package with a 0.6.9 version number (for testing). Saw it installed.
    Re-ran the installer and saw that it said it was already installed, giving me
    the option to repair or uninstall.

    Saw the version in Add/Remove Programs. Uninstalled it without problems.

    Re-installed 0.6.9, then built an installer for 0.7. Installed that, and saw
    that it upgraded.

    Tried to install 0.6.9 with 0.7 installed, and saw it say that a newer version
    was already installed.

    Uninstalled 0.7 without problems.

    Re-installed 0.7. Used that to post this change.

    Description From Last Updated

    This should use from __future__ import print_function

    daviddavid

    You might want to define a default value for $(Version) up in the top PropertyGroup, otherwise I think builds through …

    BC bcran

    Ditto with the $(Version).

    BC bcran
    reviewbot
    1. Tool: Pyflakes
      Processed Files:
          contrib/installers/windows/scripts/get-version.py
      
      Ignored Files:
          contrib/installers/windows/wix/files/rbt.cmd
          contrib/installers/windows/wix/rbtools.sln
          contrib/installers/windows/wix/files/favicon.ico
          .gitignore
          contrib/installers/windows/wix/files/logo.png
          contrib/installers/windows/build-installer.bat
          contrib/installers/windows/wix/rbtools.wixproj
          contrib/installers/windows/wix/bundle.wxs
          contrib/installers/windows/wix/bootstrapper.wixproj
          contrib/installers/windows/wix/product.wxs
      
      
      
      Tool: PEP8 Style Checker
      Processed Files:
          contrib/installers/windows/scripts/get-version.py
      
      Ignored Files:
          contrib/installers/windows/wix/files/rbt.cmd
          contrib/installers/windows/wix/rbtools.sln
          contrib/installers/windows/wix/files/favicon.ico
          .gitignore
          contrib/installers/windows/wix/files/logo.png
          contrib/installers/windows/build-installer.bat
          contrib/installers/windows/wix/rbtools.wixproj
          contrib/installers/windows/wix/bundle.wxs
          contrib/installers/windows/wix/bootstrapper.wixproj
          contrib/installers/windows/wix/product.wxs
      
      
    2. 
        
    chipx86
    BC
    1. 
        
    2. Show all issues

      You might want to define a default value for $(Version) up in the top PropertyGroup, otherwise I think builds through Visual Studio will fail.

      1. There's no default version that would really make sense though. We certainly don't want to worry about having to edit this file every release.

        We won't be doing builds through Visual Studio. This will in time all be automated and driven by the batch file. Given that, is there really any need to worry about Visual Studio builds?

      2. I normally set the default to something like 1.0 or 0.1; it never gets used except in development.
        Personally, I like to keep builds through Visual Studio minimally functional because it makes testing during development a bit easier.
        It's not a big deal though, so let's drop the issue for now.

    3. Show all issues

      Ditto with the $(Version).

    4. 
        
    david
    1. 
        
    2. Show all issues

      This should use from __future__ import print_function

    3. 
        
    chipx86
    reviewbot
    1. Tool: Pyflakes
      Processed Files:
          contrib/installers/windows/scripts/get-version.py
      
      Ignored Files:
          contrib/installers/windows/wix/files/rbt.cmd
          contrib/installers/windows/wix/rbtools.sln
          contrib/installers/windows/wix/files/favicon.ico
          .gitignore
          contrib/installers/windows/wix/files/logo.png
          contrib/installers/windows/build-installer.bat
          contrib/installers/windows/wix/rbtools.wixproj
          contrib/installers/windows/wix/bundle.wxs
          contrib/installers/windows/wix/bootstrapper.wixproj
          contrib/installers/windows/wix/product.wxs
      
      
      
      Tool: PEP8 Style Checker
      Processed Files:
          contrib/installers/windows/scripts/get-version.py
      
      Ignored Files:
          contrib/installers/windows/wix/files/rbt.cmd
          contrib/installers/windows/wix/rbtools.sln
          contrib/installers/windows/wix/files/favicon.ico
          .gitignore
          contrib/installers/windows/wix/files/logo.png
          contrib/installers/windows/build-installer.bat
          contrib/installers/windows/wix/rbtools.wixproj
          contrib/installers/windows/wix/bundle.wxs
          contrib/installers/windows/wix/bootstrapper.wixproj
          contrib/installers/windows/wix/product.wxs
      
      
    2. 
        
    david
    1. Ship It!
    2. 
        
    chipx86
    Review request changed
    Status:
    Completed
    Change Summary:
    Pushed to master (e8485ba)