Deploying BC3/Cirrus with default settings

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Andy Stevenson

    Deploying BC3/Cirrus with default settings

    As Cirrus enters public beta and eventually ships.. I am looking for best-practices for deploying to a group of users or company.

    - I have a few default settings that I want to standardize for everyone that uses Cirrus
    -- (Smart Tabs/No Tabs, 110 column indicator, Directory diffs ignore timestamp and use Rules-based).
    -- In the future, I might want to provide 2-3 default sessions as an example.

    - Also, there's the matter of distributing the license key to the paid-for number of users.

    - Finally, we want to customize our ClearCase map files to integrate Cirrus as the default merge tool... not that hard to do, but somewhat error-prone with multi-boot machines.

    What we might do is re-package the Cirrus installation into an .msi with the appropriate modifications, and then use a Windows admin tool to push the .msi to users in the right user groups.

    If I recall BC2 correctly, there was a way to set up network distribution from a share -- that might work as well.


    Any thoughts / best practices that we should be considering?
    Everyone that has started using Cirrus absolutely loves it! Thanks!
  • Tim
    Team Scooter
    • Oct 2007
    • 786

    #2
    Thanks, Andy.

    We haven't implemented the license key handling yet, but I assume it will be the same as BC2: if you include a key file in the distribution, or in the same folder that setup.exe is run from, the key will be installed automatically.

    BC3 settings are stored in XML files in the user's APP_DATA folder. I suppose setup.exe could copy any settings files from the distribution folder to the user location (unless they already exist). We'll consider this.

    We definitely will support customer re-packaging of the distribution and will hopefully come up some sample MSI templates.
    Tim T Scooter Software

    Comment

    • Andy Stevenson

      #3
      Copying the setup files from the program directory on first-run (if they don't already exist in the APP_DATA) would work well for us. Those could potentially be in a subdirectory "FirstRun" to clarify that they aren't modified by the software.

      Would your .msi template run your .exe directly? Or would it repackage all the files and shell extension registration?

      thanks.

      Comment

      • Tim
        Team Scooter
        • Oct 2007
        • 786

        #4
        My thought was to have the install process copy "initial" settings, but if the user selected Factory Defaults anywhere in the program, it would restore our settings and not yours. Would that be a problem?

        I would probably want to have special names for the distributable setup files (perhaps init_preferences.xml, init_sessions.xml, etc) to indicate their purpose, but the installer would rename them to the normal names.

        Are you suggesting a FirstRun subfolder under the user's APP_DATA? The program would find settings there unless we invented some scheme for it.

        We would support a complete msi package built from scratch. Perhaps one of our users would help us jumpstart that project.
        Tim T Scooter Software

        Comment

        • Andy Stevenson

          #5
          Restoring your factory defaults makes sense.
          .. And special names also make sense.

          I'm suggesting that the initial settings be read from the Cirrus program directory (after installation) during first-run for each user. They could be copied to the program directory by the installer.
          - My reasoning for this is that otherwise the .msi installer would need to put the init_..xml files in each of the possible user APP_DATA folders when installing for all users. But I haven't thought about this much.

          As for the .msi package... I'll see what we can do. We have a guy here that does our installs that can package Cirrus up into an .msi. Our version would also alter the ClearCase 'map' file... If he gets that working, then I can send you the project files for building the msi.

          Comment

          • Tim
            Team Scooter
            • Oct 2007
            • 786

            #6
            Right, I wasn't thinking about install for all users.

            If the settings files are placed in the program folder, currently BC will switch to "single directory mode" and maintain settings there (trying to write to Program Files).

            It looks like we'll need to make some minor changes to support this idea.
            Tim T Scooter Software

            Comment

            • Michael Bulgrien
              Carpal Tunnel
              • Oct 2007
              • 1772

              #7
              Originally posted by Tim
              Perhaps one of our users would help us jumpstart that project.
              I work with/create MSI files on a regular basis. Let me know if there is something you would like my help with...

              Originally posted by Tim
              I would probably want to have special names for the distributable setup files (perhaps init_preferences.xml, init_sessions.xml, etc) to indicate their purpose
              The init_ naming convention is a great idea!

              Originally posted by Andy Stevenson
              I'm suggesting that the initial settings be read from the Cirrus program directory (after installation) during first-run for each user. They could be copied to the program directory by the installer.
              - My reasoning for this is that otherwise the .msi installer would need to put the init_..xml files in each of the possible user APP_DATA folders when installing for all users.
              Originally posted by Tim
              If the settings files are placed in the program folder, currently BC will switch to "single directory mode" and maintain settings there (trying to write to Program Files).
              It looks like we'll need to make some minor changes to support this idea.
              I would not place the init_*.xml files in the program folder. My suggestion is that, on installation, the init_*.xml files be copied to the "all users" profile and renamed. On first run, Cirrus copies the XML files from the all-users profile to the individual user's profile if they don't already exist.

              Originally posted by Tim
              My thought was to have the install process copy "initial" settings, but if the user selected Factory Defaults anywhere in the program, it would restore our settings and not yours. Would that be a problem?
              If the init_*.xml files are stored in the all users profile, then you could offer a choice:

              1.) Restore factory defaults
              2.) Restore initial custom settings

              The second option would re-initialize the individual user's settings with what is stored in the all users profile. This would also allow a system administrator to tweak the settings in the all users profile if the desired defaults for a team change. Individuals could then be instructed how to restore the new custom settings the next time they log in.
              BC v4.0.7 build 19761
              ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯

              Comment

              • Andy Stevenson
                Journeyman
                • Nov 2007
                • 11

                #8
                I like Michael's suggestions regarding the All Users profile. That would address the issue from my perspective.

                Comment

                Working...