Rules to Better Installers - 4 Rules
Since 1990, SSW has supported the developer community by publishing all our best practices and rules for everyone to see.
If you still need help, visit SSW Consulting Servicesand book in a consultant.
Developers should add a version number at the end of the out package. E.g. SSWCodeAuditor_v14.0.0.exe
Here is how you do it in Advanced Installer:
- In the navigation pane look for Media
- Choose Configuration tab and click in MSI name text box which is located under Output section
- Next to the text add [|ProductVersion]. If the text-box is empty you may want to start it with [|ProductName]
If you are syncing your Application Folder (or any other) with a local folder on a disk, you can specify which file or folders you want to sync. This is a very convenient way to keep your package smaller and clean.
Here is how you do it:
- Right click the Application Folder and choose Properties
- Click on Filters button to open the Edit Filters dialog
- Click on New button to create Include pattern. Alternatively you can switch to Exclude Filters tab
- Enter the Pattern and press OK on each screen
Market is full of tools that can create Setup packages, but only a few are really good.
WiX is the ultimate tool which gives you complete freedom and control over Setup packages.
Here are reasons why WiX is the way to go:
- It is all done in XML
- It integrates with Visual Studio
- Full control over packages logic and UI
- It is a recommended choice by Microsoft
- It is FREE
But WiX has one bad side as well – learning curve is high. Not everyone can afford learning it. The alternative is Advanced Installer.
Advanced Installer makes it easy for you to create Setup packages using a very sophisticated GUI.
A few reasons why Advanced Installer could be your choice:
- It has a very sophisticated and easy to use GUI
- It gives you wide range of options (IIS, Dialog Editor, Custom Actions, Digital Signature, Auto Updater, App Virtualization, SCCM, etc)
- Price vs performance ratio is great + it has a FREE version which is in many cases more than enough
Devs need a way of sharing and consuming the source code or binaries.
VSTS is the best home to put it and share it across their organization because:
- It caches your packages
- It's a centralized place for your packages
- It's constantly evolving (some really cool features check the video below)
Sharing source or binaries via File Shares or Version Control
Sharing source or binaries via 3rd party tools like ProGet, MyGet
Sharing source or binaries via packages created using VSTS Team Build
VSTS is about to add benefits like Component Governance, which allows policies to be set over who can and cannot use the source or binaries E.g. Licensing (MIT might be ok and GPL not ok), security - in development
Good example - Sharing source or binaries via packages created using Sonatype Nexus. Already supports Component Governance
- At 2:50 Mario Rodriguez talks about the bad ways customers share code
- At 6:30 Mario explains to Danijel Malik how VSTS helps with the nasty problem of Diamond Dependencies (aka Binary Consumption Hell) (E.g. That's when devs are trying to get the new version of say Newtonsoft v1.9 in all projects, but one at a time)