C# Class Bloom.InstallerSupport

Code to work with the Squirrel installer package. This package basically just installs and manages updating the appropriate files; thus, tasks like updating the registry must be done in the application, which is invoked with certain command-line arguments to request this. (However, Bloom sets up all the registry entries every time it is run, to support multi-channel installation with the most recently run version taking responsibility for opening files and handling downloads.)
Show file Open project: BloomBooks/BloomDesktop

Private Properties

Property Type Description
BeTheExecutableFor void
EnsureRegistryValue void
HandleSquirrelInstallEvent void
IsFirstTimeInstall bool
LookupUrlOfSquirrelUpdate UpdateVersionTable.UpdateTableLookupResult
MakeBloomRegistryEntries void
RemoveBloomRegistryEntries void
RemoveRegistryKey void

Public Methods

Method Description
SharedByAllUsers ( ) : bool

True if we consider our install to be shared by all users of the computer. We currently detect this based on being in the Program Files folder.

Private Methods

Method Description
BeTheExecutableFor ( string extension, string description ) : void
EnsureRegistryValue ( string keyName, string value, string name = "" ) : void
HandleSquirrelInstallEvent ( string args ) : void
IsFirstTimeInstall ( string programArgs ) : bool
LookupUrlOfSquirrelUpdate ( ) : UpdateVersionTable.UpdateTableLookupResult

Note: this actually has to go out over the web to get the answer, and so it may fail

MakeBloomRegistryEntries ( string programArgs ) : void

Make the registry entries Bloom requires. We do this every time a version of Bloom runs, so that if more than one is installed the latest wins.

RemoveBloomRegistryEntries ( ) : void
RemoveRegistryKey ( string parentName, string keyName ) : void

Method Details

SharedByAllUsers() public static method

True if we consider our install to be shared by all users of the computer. We currently detect this based on being in the Program Files folder.
public static SharedByAllUsers ( ) : bool
return bool