Results 1 to 8 of 8
  1. #1
    Andy Stevenson Guest

    Question 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!

  2. #2
    Join Date
    Oct 2007
    Posts
    786

    Default

    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

  3. #3
    Andy Stevenson Guest

    Default

    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.

  4. #4
    Join Date
    Oct 2007
    Posts
    786

    Default

    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

  5. #5
    Andy Stevenson Guest

    Default

    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.

  6. #6
    Join Date
    Oct 2007
    Posts
    786

    Default

    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

  7. #7
    Join Date
    Oct 2007
    Location
    Pennsylvania
    Posts
    1,772

    Thumbs up

    Quote Originally Posted by Tim View Post
    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...

    Quote Originally Posted by Tim View Post
    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!

    Quote Originally Posted by Andy Stevenson View Post
    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.
    Quote Originally Posted by Tim View Post
    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.

    Quote Originally Posted by Tim View Post
    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.

  8. #8
    Join Date
    Nov 2007
    Location
    Minneapolis, MN
    Posts
    11

    Smile

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

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •