C# Class NetSparkle.Sparkle

Class to communicate with a sparkle-based appcast
Inheritance: IDisposable
显示文件 Open project: Deadpikle/NetSparkle Class Usage Examples

Public Methods

Method Description
CancelFileDownload ( ) : void

Cancels the install

CheckForUpdatesAtUserRequest ( ) : Task

Check for updates, using interaction appropriate for if the user just said "check for updates".

CheckForUpdatesQuietly ( ) : Task

Check for updates, using interaction appropriate for where the user doesn't know you're doing it, so be polite

CheckOnFirstApplicationIdle ( ) : void

The app will check once, after the app settles down.

Dispose ( ) : void

Is called in the using context and will stop all background activities

GetAbsoluteUrl ( string url ) : Uri

Converts an relative url to an absolute url based on the

GetApplicationConfig ( ) : NetSparkle.NetSparkleConfiguration

This method reads the local sparkle configuration for the given reference assembly

GetUpdateStatus ( NetSparkle.NetSparkleConfiguration config ) : Task

This method checks if an update is required. During this process the appcast will be downloaded and checked against the reference assembly. Ensure that the calling process has read access to the reference assembly. This method is also called from the background loops.

GetWebContentResponse ( string Url ) : WebResponse

TODO

GetWebContentStream ( string Url ) : Stream

TODO

ReportDiagnosticMessage ( string message ) : void

This method reports a message in the diagnostic window

ShowUpdateNeededUI ( NetSparkleAppCastItem updates ) : void

This method shows the update ui and allows to perform the update process

Sparkle ( String appcastUrl ) : System

ctor which needs the appcast url

Sparkle ( String appcastUrl, Icon applicationIcon ) : System

ctor which needs the appcast url

Sparkle ( String appcastUrl, Icon applicationIcon, SecurityMode securityMode ) : System

ctor which needs the appcast url

Sparkle ( String appcastUrl, Icon applicationIcon, SecurityMode securityMode, String dsaPublicKey ) : System

ctor which needs the appcast url

Sparkle ( String appcastUrl, Icon applicationIcon, SecurityMode securityMode, String dsaPublicKey, String referenceAssembly ) : System

ctor which needs the appcast url and a referenceassembly

Sparkle ( String appcastUrl, Icon applicationIcon, SecurityMode securityMode, String dsaPublicKey, String referenceAssembly, INetSparkleUIFactory factory ) : System

ctor which needs the appcast url and a referenceassembly

StartLoop ( System.Boolean doInitialCheck ) : void

The method starts a NetSparkle background loop If NetSparkle is configured to check for updates on startup, proceeds to perform the check. You should only call this function when your app is initialized and shows its main window.

StartLoop ( System.Boolean doInitialCheck, System.Boolean forceInitialCheck ) : void

The method starts a NetSparkle background loop If NetSparkle is configured to check for updates on startup, proceeds to perform the check. You should only call this function when your app is initialized and shows its main window.

StartLoop ( System.Boolean doInitialCheck, System.Boolean forceInitialCheck, System.TimeSpan checkFrequency ) : void

The method starts a NetSparkle background loop If NetSparkle is configured to check for updates on startup, proceeds to perform the check. You should only call this function when your app is initialized and shows its main window.

StartLoop ( System.Boolean doInitialCheck, System.TimeSpan checkFrequency ) : void

The method starts a NetSparkle background loop If NetSparkle is configured to check for updates on startup, proceeds to perform the check. You should only call this function when your app is initialized and shows its main window.

StopLoop ( ) : void

This method will stop the sparkle background loop and is called through the disposable interface automatically

UpdateSystemProfileInformation ( NetSparkle.NetSparkleConfiguration config ) : void

This method updates the profile information which can be sended to the server if enabled

Protected Methods

Method Description
GetInstallerCommand ( string downloadFileName ) : string

Return installer runner command. May throw InvalidDataException

Private Methods

Method Description
AskApplicationToSafelyCloseUp ( ) : Task

Apps may need, for example, to let user save their work

CheckForUpdates ( bool useNotificationToast ) : Task

Does a one-off check for updates

InitDownloadAndInstallProcess ( NetSparkleAppCastItem item ) : void

Starts the download process

OnDownloadFinished ( object sender, AsyncCompletedEventArgs e ) : void

Called when the installer is downloaded

OnFirstApplicationIdle ( object sender, EventArgs e ) : void
OnProgressWindowInstallAndRelaunch ( object sender, EventArgs e ) : void

Called when the progress bar fires the update event

OnToastClick ( NetSparkleAppCastItem updates ) : void
OnUserWindowUserResponded ( object sender, EventArgs e ) : void

Called when the user responds to the "skip, later, install" question.

OnWindowsFormsApplicationExit ( object sender, EventArgs e ) : void

Called when a Windows forms application exits. Starts the installer.

OnWorkerDoWork ( object sender, DoWorkEventArgs e ) : void

This method will be executed as worker thread

OnWorkerProgressChanged ( object sender, ProgressChangedEventArgs e ) : void

This method will be notified

ProfileDataThreadStart ( object obj ) : void

Profile data thread

RemoteCertificateValidation ( object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors ) : bool

Determine if the remote X509 certificate is validate

RunDownloadedInstaller ( ) : System.Threading.Task

Runs the downloaded installer

ShowUpdateNeededUIInner ( NetSparkleAppCastItem updates ) : void
UnregisterEvents ( ) : void

Unregisters events so that we don't have multiple items updating

Update ( NetSparkleAppCastItem updates ) : void

Updates from appcast

Method Details

CancelFileDownload() public method

Cancels the install
public CancelFileDownload ( ) : void
return void

CheckForUpdatesAtUserRequest() public method

Check for updates, using interaction appropriate for if the user just said "check for updates".
public CheckForUpdatesAtUserRequest ( ) : Task
return Task

CheckForUpdatesQuietly() public method

Check for updates, using interaction appropriate for where the user doesn't know you're doing it, so be polite
public CheckForUpdatesQuietly ( ) : Task
return Task

CheckOnFirstApplicationIdle() public method

The app will check once, after the app settles down.
public CheckOnFirstApplicationIdle ( ) : void
return void

Dispose() public method

Is called in the using context and will stop all background activities
public Dispose ( ) : void
return void

GetAbsoluteUrl() public method

Converts an relative url to an absolute url based on the
public GetAbsoluteUrl ( string url ) : Uri
url string relative or absolute url
return System.Uri

GetApplicationConfig() public method

This method reads the local sparkle configuration for the given reference assembly
public GetApplicationConfig ( ) : NetSparkle.NetSparkleConfiguration
return NetSparkle.NetSparkleConfiguration

GetInstallerCommand() protected method

Return installer runner command. May throw InvalidDataException
protected GetInstallerCommand ( string downloadFileName ) : string
downloadFileName string
return string

GetUpdateStatus() public method

This method checks if an update is required. During this process the appcast will be downloaded and checked against the reference assembly. Ensure that the calling process has read access to the reference assembly. This method is also called from the background loops.
public GetUpdateStatus ( NetSparkle.NetSparkleConfiguration config ) : Task
config NetSparkle.NetSparkleConfiguration the configuration
return Task

GetWebContentResponse() public method

TODO
public GetWebContentResponse ( string Url ) : WebResponse
Url string
return System.Net.WebResponse

GetWebContentStream() public method

TODO
public GetWebContentStream ( string Url ) : Stream
Url string
return Stream

ReportDiagnosticMessage() public method

This method reports a message in the diagnostic window
public ReportDiagnosticMessage ( string message ) : void
message string
return void

ShowUpdateNeededUI() public method

This method shows the update ui and allows to perform the update process
public ShowUpdateNeededUI ( NetSparkleAppCastItem updates ) : void
updates NetSparkleAppCastItem updates to show UI for
return void

Sparkle() public method

ctor which needs the appcast url
public Sparkle ( String appcastUrl ) : System
appcastUrl String the URL for the appcast file
return System

Sparkle() public method

ctor which needs the appcast url
public Sparkle ( String appcastUrl, Icon applicationIcon ) : System
appcastUrl String the URL for the appcast file
applicationIcon System.Drawing.Icon If you're invoking this from a form, this would be this.Icon
return System

Sparkle() public method

ctor which needs the appcast url
public Sparkle ( String appcastUrl, Icon applicationIcon, SecurityMode securityMode ) : System
appcastUrl String the URL for the appcast file
applicationIcon System.Drawing.Icon If you're invoking this from a form, this would be this.Icon
securityMode SecurityMode Sparkle Security mode
return System

Sparkle() public method

ctor which needs the appcast url
public Sparkle ( String appcastUrl, Icon applicationIcon, SecurityMode securityMode, String dsaPublicKey ) : System
appcastUrl String the URL for the appcast file
applicationIcon System.Drawing.Icon If you're invoking this from a form, this would be this.Icon
securityMode SecurityMode
dsaPublicKey String The dsa public key to verfiy the sigatures.
return System

Sparkle() public method

ctor which needs the appcast url and a referenceassembly
public Sparkle ( String appcastUrl, Icon applicationIcon, SecurityMode securityMode, String dsaPublicKey, String referenceAssembly ) : System
appcastUrl String the URL for the appcast file
applicationIcon System.Drawing.Icon If you're invoking this from a form, this would be this.Icon
securityMode SecurityMode
dsaPublicKey String
referenceAssembly String the name of the assembly to use for comparison
return System

Sparkle() public method

ctor which needs the appcast url and a referenceassembly
public Sparkle ( String appcastUrl, Icon applicationIcon, SecurityMode securityMode, String dsaPublicKey, String referenceAssembly, INetSparkleUIFactory factory ) : System
appcastUrl String the URL for the appcast file
applicationIcon System.Drawing.Icon If you're invoking this from a form, this would be this.Icon
securityMode SecurityMode
dsaPublicKey String
referenceAssembly String the name of the assembly to use for comparison
factory INetSparkleUIFactory UI factory to use
return System

StartLoop() public method

The method starts a NetSparkle background loop If NetSparkle is configured to check for updates on startup, proceeds to perform the check. You should only call this function when your app is initialized and shows its main window.
public StartLoop ( System.Boolean doInitialCheck ) : void
doInitialCheck System.Boolean
return void

StartLoop() public method

The method starts a NetSparkle background loop If NetSparkle is configured to check for updates on startup, proceeds to perform the check. You should only call this function when your app is initialized and shows its main window.
public StartLoop ( System.Boolean doInitialCheck, System.Boolean forceInitialCheck ) : void
doInitialCheck System.Boolean true if this instance should do an initial check.
forceInitialCheck System.Boolean true if this instance should force an initial check.
return void

StartLoop() public method

The method starts a NetSparkle background loop If NetSparkle is configured to check for updates on startup, proceeds to perform the check. You should only call this function when your app is initialized and shows its main window.
public StartLoop ( System.Boolean doInitialCheck, System.Boolean forceInitialCheck, System.TimeSpan checkFrequency ) : void
doInitialCheck System.Boolean true if this instance should do an initial check.
forceInitialCheck System.Boolean true if this instance should force an initial check.
checkFrequency System.TimeSpan the frequency between checks.
return void

StartLoop() public method

The method starts a NetSparkle background loop If NetSparkle is configured to check for updates on startup, proceeds to perform the check. You should only call this function when your app is initialized and shows its main window.
public StartLoop ( System.Boolean doInitialCheck, System.TimeSpan checkFrequency ) : void
doInitialCheck System.Boolean true if this instance should do an initial check.
checkFrequency System.TimeSpan the frequency between checks.
return void

StopLoop() public method

This method will stop the sparkle background loop and is called through the disposable interface automatically
public StopLoop ( ) : void
return void

UpdateSystemProfileInformation() public method

This method updates the profile information which can be sended to the server if enabled
public UpdateSystemProfileInformation ( NetSparkle.NetSparkleConfiguration config ) : void
config NetSparkle.NetSparkleConfiguration the configuration
return void