diff --git a/CHANGELOG b/CHANGELOG index f0f66d7..1f18929 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -5,6 +5,7 @@ innoextract 1.7 (TDB) - Added support for encrypted installers with the --password and --password-file options - Added a --show-password option to print password check information - Added a --check-password option to abort if the provided password does not match the stored checksum + - Added a --info convenience option to print information about the installer - Fixed building in paths that contain regex expressions - Fixed case-sensitivity in parent directory when creating subdirectories - Fixed .bin slice file names used with Inno Setup versions older than 4.1.7 diff --git a/doc/innoextract.1 b/doc/innoextract.1 index 7bd3a15..450a6f0 100644 --- a/doc/innoextract.1 +++ b/doc/innoextract.1 @@ -34,6 +34,7 @@ Here is a short summary of the options available in innoextract. Please refer to \-t \-\-test Only verify checksums, don't write anything \-e \-\-extract Extract files (default action) \-l \-\-list Only list files, don't write anything + \-i \-\-info Print information about the installer \-\-list\-languages List languages supported by the installer \-\-gog\-game\-id Determine the GOG.com game ID for this installer \-\-show\-password Show password check information @@ -174,6 +175,13 @@ The expression is always matched against one or more full path components. Filte The \fB\-\-include\fP option may be repeated in order allow files matching against one of multiple patterns. If \fB\-\-include\fP is not used, all files are processed. .TP +\fB\-i\fP \fB\-\-info\fP +This is a convenience option to enable all actions that print information about the installer. + +Scrips should not rely on the output format with this option and should instead enable the individual actions instead. + +Currently this option enables \fB\-\-list\-languages\fP, \fB\-\-gog\-game\-id\fP and \fB\-\-show\-password\fP. +.TP \fB\-\-language\fP \fILANG\fP Extract only language-independent files and files for the given language. By default all files are extracted. diff --git a/src/cli/main.cpp b/src/cli/main.cpp index 10502e0..0189ccf 100644 --- a/src/cli/main.cpp +++ b/src/cli/main.cpp @@ -133,6 +133,7 @@ int main(int argc, char * argv[]) { ("test,t", "Only verify checksums, don't write anything") ("extract,e", "Extract files (default action)") ("list,l", "Only list files, don't write anything") + ("info,i", "Print information about the installer") ("list-languages", "List languages supported by the installer") ("gog-game-id", "Determine the installer's GOG.com game ID") ("show-password", "Show password check information") @@ -252,6 +253,11 @@ int main(int argc, char * argv[]) { o.gog_game_id = (options.count("gog-game-id") != 0); o.show_password = (options.count("show-password") != 0); o.check_password = (options.count("check-password") != 0); + if(options.count("info") != 0) { + o.list_languages = true; + o.gog_game_id = true; + o.show_password = true; + } bool explicit_action = o.list || o.test || o.extract || o.list_languages || o.gog_game_id || o.show_password || o.check_password; if(!explicit_action) {