Application Association Registration plug-in: Difference between revisions
Line 3: | Line 3: | ||
This plugin can read / set application association registration for Windows Vista and greater. | This plugin can read / set application association registration for Windows Vista and greater. | ||
Version: 0.4 | Version: 0.4 (2008-12-10) | ||
* Added Unicode support (initial patch by Ehsan Akhgari). | * Added Unicode support (initial patch by Ehsan Akhgari). | ||
* Download includes both the ANSI and Unicode versions of the plug-in. | * Download includes both the ANSI and Unicode versions of the plug-in. | ||
Version: 0.3 addendum | Version: 0.3 addendum (2008-12-09) | ||
* Added Unicode download. | * Added Unicode download. | ||
Version: 0.3 | Version: 0.3 (2007-10-30) | ||
* Renamed plugin from SetVistaDefaultApp to AppAssocReg. | * Renamed plugin from SetVistaDefaultApp to AppAssocReg. | ||
* Added all IApplicationAssociationRegistration methods available. | * Added all IApplicationAssociationRegistration methods available. |
Revision as of 10:16, 10 December 2008
AppAssocReg Plugin for NSIS (2008-12-10)
This plugin can read / set application association registration for Windows Vista and greater.
Version: 0.4 (2008-12-10)
- Added Unicode support (initial patch by Ehsan Akhgari).
- Download includes both the ANSI and Unicode versions of the plug-in.
Version: 0.3 addendum (2008-12-09)
- Added Unicode download.
Version: 0.3 (2007-10-30)
- Renamed plugin from SetVistaDefaultApp to AppAssocReg.
- Added all IApplicationAssociationRegistration methods available.
Version: 0.2 (2007-09-28)
- minor cleanup
Version: 0.1 (2007-09-28)
- initial release
Details On Function Parameters
app_name
The value for app_name is the name associated with the application under:
HKLM\Software\RegisteredApplications\
assoc_name
The value for assoc_name can be one of the following:
- For type equals protocol it should be the protocol name (e.g. http, mms, etc.).
- For type equals file it should be the file extension (e.g. .html, .txt, etc.)
- For type equals startmenu it should be the registry subkey name StartMenuInternet, mail, etc.) under:
HKLM\Software\clients\
- For type equals mime it should be the MIME type name (e.g. audio/mp3, text/html, etc.)
type
Possible values for type map to ASSOCIATIONTYPE as follows
- file = AT_FILEEXTENSION
- protocol = AT_URLPROTOCOL
- startMenu = AT_STARTMENUCLIENT
- mime = AT_MIMETYPE
level
Possible values for level map to ASSOCIATIONLEVEL as follows
- machine = AL_MACHINE
- effective = AL_EFFECTIVE
- user = AL_USER
Functions
AppAssocReg::QueryCurrentDefault assoc_name type level Pop $Var
Returns the default application for the specified association type and level (e.g. the application that is launched by default when using ShellExecute for the association).
Returns:
- 'ProgID' that identifies the current default association.
- 'method failed' if the call failed.
- 'method not available' if IApplicationAssociationRegistration is not available on the system.
AppAssocReg::QueryAppIsDefault app_name assoc_name type level Pop $Var
Returns whether an application is the default assocation for the specified association name, type, and level.
Returns:
- '1' if the application is the default.
- '0' if the application is NOT the default.
- 'method failed' if the call failed.
- 'method not available' if IApplicationAssociationRegistration is not available on the system.
AppAssocReg::QueryAppIsDefaultAll app_name level Pop $Var
Returns whether an application is the default for all of its associations for the specified level.
Returns:
- '1' if the application is the default.
- '0' if the application is NOT the default.
- 'method failed' if the call failed.
- 'method not available' if IApplicationAssociationRegistration is not available on the system.
AppAssocReg::SetAppAsDefault app_name assoc_name type Pop $Var
Sets an application as the default for the specified association name and type.
Returns:
- 'success' if the call was successful.
- 'method failed' if the call failed.
- 'method not available' if IApplicationAssociationRegistration is not available on the system.
AppAssocReg::SetAppAsDefaultAll app_name Pop $Var
Sets an application as the default for all of the associations it is registered for.
Returns:
- 'success' if the call was successful.
- 'method failed' if the call failed.
- 'method not available' if IApplicationAssociationRegistration is not available on the system.
AppAssocReg::ClearUserAssociations Pop $Var
Removes all user associations for the current user (e.g. reverts to machine level associations).
Returns:
- 'success' if the call was successful.
- 'method failed' if the call failed.
- 'method not available' if IApplicationAssociationRegistration is not available on the system.
Example
See Examples\AppAssocReg\Example.nsi
Links
Download
- Current Release: 2008-12-10
AppAssocReg-0.4.zip (12 KB) (dll is approximately 5 KB)