• Announcements

    • xper

      MSFN Sponsorship and AdBlockers!   07/10/2016

      Dear members, MSFN is made available via subscriptions, donations and advertising revenue. The use of ad-blocking software hurts the site. Please disable ad-blocking software or set an exception for MSFN. Alternatively, become a site sponsor and ads will be disabled automatically and by subscribing you get other sponsor benefits.
Oleg_Sch

7z SFX Modified Module and Tools

511 posts in this topic

7ziplogo.png


7z SFX Modified Module

version 1.5.3 Stable (build 3819)

version 1.6.0 Beta (build 3819)

Home page || Download links

Hi All!

I am excited to finally present the modified 7z SFX module and accompany tools to the English speaking audience. I know some of you already got a hold of the module and used it a little. Now you can take full advantage of all feature thanks to fully translated documentation. I do encourage you to read the docs, because the module development was driven by Russian unattended community. You'll find a lot of features regular users would never think of smile.gif . I'll list just a few of them here:

- select between interactive, silent and hidden extraction
- control the appearance of dialog prompts and text
- consequently run several files (.exe, .msi, .reg and so on) after the extraction to install configured applications
- replace .bat and .cmd files and eliminate the need in supplementary utilities like "StartX.exe", "msistub.exe" and so on
- create shortcuts for programs with the icons of your choice

There's a lot, and you may want to start with usage examples to see some pics
 

Example4.png

You may also want to download 7z SFX Tools to see the installer in action.

I truly hope you like the module and start using it in your PC tasks. As you become familiar with its features, please share your experience with your peers through this thread. Although I understand written English relatively well, my writing skills are not that good and I may not be able to answer some questions with the level of detail they require (Honestly, I got a lot of help with this post ;) )

You're welcome to leave any thoughts or suggestions in this thread - I'm subscribed to it. Feel free to conact me by e-mail, but keep in mind that often you can get techincal help through the forum faster smile.gif

Thank you!

Only Russian pages was updated.

Latest versions also can be downloaded via SVN repository http://svn.7zsfx.info

Edited by Oleg_Sch
1

Share this post


Link to post
Share on other sites

Hey thanks man!

I know many of use were waiting for this :thumbup

I will test it now

First: variable9 is used but not set here

Edited by Inferi0r
0

Share this post


Link to post
Share on other sites

My Config.txt

;!@Install@!UTF-8!

; // Full silent install

GUIMode="2"

; // Set environments

SetEnvironment="Var1=\"%ProgramFiles%\\Mozilla Firefox\\firefox.exe\""

SetEnvironment="Var2=\"%ProgramFiles%\\Mozilla Firefox\\extensions\\*.xpi\""

SetEnvironment="Var3=\"%ProgramFiles%\\Mozilla Firefox\\chrome\\*fx*\""

SetEnvironment="Var4=\"%AppData%\\Mozilla\\Firefox\\Profiles\""

SetEnvironment="Var5=\"%ProgramFiles%\\Mozilla Firefox\\extensions\""

SetEnvironment="Var6=\"%ProgramFiles%\\Mozilla Firefox\\chrome\""

; // Silent install of Firefox

RunProgram="setup.exe -ms"

; // Set Firefox to default browser

RunProgram="hidcon:cmd %Var1% -setDefaultBrowser -silent"

; // Silent install of all extensions

RunProgram="hidcon:cmd FOR /f %%i IN ('DIR /b /a-d %Var2%') DO %Var1% -install-global-extension "%Var5%\\%%i""

; // Delete all unpacked extensions after install

Delete="%Var2%"

; // Set Adblock Plus settings if exist

RunProgram="hidcon:cmd FOR /f %%i IN ('DIR /b /a:d %Var4%') DO md "%Var4%\\%%i\\adblockplus""

RunProgram="hidcon:cmd FOR /f %%i IN ('DIR /b /a:d %Var4%') DO copy "localized\adblockplus\patterns.ini" "%Var4%\\%%i\\adblockplus""

; // Silent install of unsigned Themes (not needed and set by default)

; RunProgram="hidcon:cmd FOR /f %%i IN ('DIR /b /a-d %Var3%') DO %Var1% -install-global-theme "%Var6%\\%%i"

; // Delete all unpacked themes after install

; Delete="%Var3%"

;!@InstallEnd@!

Hi,

I've converted my working CMD to your SFX. If I opens my created installer I get this error:

Error in Line 18 of configuration data

%Var5%\\%%i""

%Var5%\%%i"" is also not working.

What I'm doing wrong?

Thanks

Edited by Inferi0r
0

Share this post


Link to post
Share on other sites

Inferi0r

As a result, you MUST use DOUBLE backslashes (\\) wherever you normally use backslashes (\) (e.g. in paths or dialog texts). Similarly, if the Value contains double quotes ("), you MUST precede them with a backslash (\").

i.e. this line should look so:

RunProgram="hidcon:cmd FOR /f %%i IN ('DIR /b /a-d %Var2%') DO %Var1% -install-global-extension \"%Var5%\\%%i\""

I may be wrong, but you config file should be:

;!@Install@!UTF-8!

; // Full silent install

GUIMode="2"

; // Set environments

SetEnvironment="Var1=%ProgramFiles%\\Mozilla Firefox\\firefox.exe"

SetEnvironment="Var2=%ProgramFiles%\\Mozilla Firefox\\extensions\\*.xpi"

SetEnvironment="Var3=%ProgramFiles%\\Mozilla Firefox\\chrome\\*fx*"

SetEnvironment="Var4=%AppData%\\Mozilla\\Firefox\\Profiles"

SetEnvironment="Var5=%ProgramFiles%\\Mozilla Firefox\\extensions"

SetEnvironment="Var6=%ProgramFiles%\\Mozilla Firefox\\chrome"

; // Silent install of Firefox

RunProgram="setup.exe -ms"

; // Set Firefox to default browser

RunProgram="hidcon:cmd \"%Var1%\" -setDefaultBrowser -silent"

; // Silent install of all extensions

RunProgram="hidcon:cmd FOR /f %%i IN ('DIR /b /a-d \"%Var2%\"') DO \"%Var1%\" -install-global-extension \"%Var5%\\%%i\""

; // Delete all unpacked extensions after install

Delete="%Var2%"

; // Set Adblock Plus settings if exist

RunProgram="hidcon:cmd FOR /f %%i IN ('DIR /b /a:d \"%Var4%\"') DO md \"%Var4%\\%%i\\adblockplus\""

RunProgram="hidcon:cmd FOR /f %%i IN ('DIR /b /a:d \"%Var4%\"') DO copy \"localized\adblockplus\patterns.ini\" \"%Var4%\\%%i\\adblockplus\""

; // Silent install of unsigned Themes (not needed and set by default)

; RunProgram="hidcon:cmd FOR /f %%i IN ('DIR /b /a-d \"%Var3%\"') DO \"%Var1%\" -install-global-theme \"%Var6%\\%%i\""

; // Delete all unpacked themes after install

; Delete="%Var3%"

;!@InstallEnd@!

It's easer to do these tasks in a batch file and call it from the config file

RunProgram="hidcon:batch_file_name.cmd"
Edited by Oleg_Sch
0

Share this post


Link to post
Share on other sites

TNX Oleg_Sch,

Yr Home page http://7zsfx.solta.ru/en/ is simply a complete BLANK page.

No access to a documentation :( May you remedy to this?

In the other hand, the download and examples links works :)

Regards

coucou

0

Share this post


Link to post
Share on other sites

Sorry!

During today's update i made a mistake :(

Fixed!

Again, sorry :(

P.S. It is necessary to FORCE update page by Ctrl+F5 in browser...

Edited by Oleg_Sch
0

Share this post


Link to post
Share on other sites

Hi,

The access to page is OK for me.

And very thanks to translate the informations about the options in your SFX module, this will help me a lot to create advanced silent install.

0d

0

Share this post


Link to post
Share on other sites

Hey Oleg_Sch! Nice to see you're promoting your module here!

I gave info about it a while ago in the other 7z topic, especially because msistub and startx isn't needed anymore. Very nice!

All my installers use your module, in the -? or -h part I have put a thankyou note to you :)

(have to update them...)

0

Share this post


Link to post
Share on other sites

Hi oleg,

Very nice tool... All my installers use yr module too.

What about extarcting SFX archive and creating a shortlinks (winrar like)? (see here bellow)

Path=%ProgramFiles%\HyperSnap 6
SavePath
Silent=1
Overwrite=1

Shortcut=P, "HprSnap6.exe", "Capture\HyperSnap 6", "HyperSnap 6", "HyperSnap 6"
Shortcut=P, "HprSnap6Man.chm", "Capture\HyperSnap 6", "HyperSnap 6 Help", "HyperSnap 6 Help"
Shortcut=P, "readme.tx", "Capture\HyperSnap 6", "Read about HyperSnap 6", "Read about HyperSnap 6"
Shortcut=P, "HprUnInst.exe", "Capture\HyperSnap 6", "Uninstall HyperSnap 6", "Uninstall HyperSnap 6"

The problem by using winrar, the shortlinks can be created only in %UserProfile% folder.

It is possible to creat e an SFX archive and shortlinks in %AllUsersProfile% with yr module a shortlinks? If so, Thanks to show me an example.

Regards

coucou

0

Share this post


Link to post
Share on other sites

coucou

But what about help ?

Parameter 'Shortcut':

'type' - one or two symbol field that can take the following values:

D - Creates shortcut on the Desktop

S - Creates shortcut in the "Start" menu

P - Creates shortcut in the "Start->Programs" menu

T - Creates shortcut in the "Startup" folder

The shortcuts are created for ALL USERS. In order to create a shortcut for the current user only, add 'u' to the values listed above. For example, Shortcut="Du, {cmd.exe}" creates shortcut on the current user's Desktop only.

Configuration file in you case should look:

;!@Install@!UTF-8!
InstallPath="%ProgramFiles%\\HyperSnap 6"
GUIMode="2"
Shortcut="P, {HprSnap6.exe}, {}, {Capture\\HyperSnap 6}, {HyperSnap 6}, {HyperSnap 6}"
;!@InstallEnd@!

Change 'GUIMode' as you like ( see http://7zsfx.solta.ru/en/parameters.html#GUIMode ) or delete it (this is the same that GUIMode="0")

Or this dosn't working ?

Edited by Oleg_Sch
0

Share this post


Link to post
Share on other sites

TNX Oleg for the info

The links are created but does NOT pointing the files. In other words, by clink on the created links, Nothing hapens :(

;!@Install@!UTF-8!
InstallPath="%ProgramFiles%\\HyperSnap 6"
GUIMode="2"
Shortcut="P, {HprSnap6.exe}, {}, {Capture\\HyperSnap 6}, {HyperSnap 6}, {HyperSnap 6}"
;!@InstallEnd@!

It works ONLY if i add the path for each link :)

;!@Install@!UTF-8!
InstallPath="%ProgramFiles%\\HyperSnap 6"
GUIMode="2"
Shortcut="P, {%ProgramFiles%\\HyperSnap 6\\HprSnap6.exe}, {}, {Capture\\HyperSnap 6}, {HyperSnap 6}, {HyperSnap 6}"
;!@InstallEnd@!

Is there anyhow to avoid adding the path for each link?

Regards

coucou

0

Share this post


Link to post
Share on other sites

Oh, sorry. i mistaked :(

You CAN NOT exclude path to the source file of the link :( , but you can set extract path in shortcut parameters, for example:

;!@Install@!UTF-8!

InstallPath="%ProgramFiles%\\HyperSnap 6"

GUIMode="2"

Shortcut="P, {%%T\\HprSnap6.exe}, {}, {Capture\\HyperSnap 6}, {HyperSnap 6}, {HyperSnap 6}"

;!@InstallEnd@!

In this case %%T always point to the extract/install folder (even if user will change it in ExtractPath dialog)

Edited by Oleg_Sch
0

Share this post


Link to post
Share on other sites

TNX Oleg,

Wowww it works like a charm :thumbup

BTW, again comparing with winrar, is it possible to add, delete file inside the SFX archive. Do yr SUPER module allow that too???

Regards

coucou

0

Share this post


Link to post
Share on other sites

coucou

Sorry, but I have not understood completely a question.

Please, explain more in detail...

0

Share this post


Link to post
Share on other sites

Sorry Oleg,

Here a good example. I made silent istall "Symantec Client Security Corporate Edition v3.1.6.6010" with yr module, the archive name is SCS_316.6010.exe.

This archive include "VDefHub.zip" file which is the Virus Definition Updater Package.

As with winrar (can do), i'm looking for open the archive, delete the old "VDefHub.zip" then add the updated "VDefHub.zip".

I "7-zip/File/Open Inside" the arcive SCS_316.6010.exe and,

if i try to delete"VDefHub.zip" file, 7-zip return message Error deleting file or folder. Not implemented;

If i try to add any file, 7-zip return message Compress operation is not supported for that folder.

I hope iwas more clear.

Regrads

coucou

0

Share this post


Link to post
Share on other sites

coucou

Although I understand written English relatively well, my writing skills are not that good and I may not be able to answer some questions with the level of detail they require

But i'll try...

My module is DECOMPRESSION of fully created archives only... It can not update/replace files in archives, because don't have any compression functions :( This is the task of 7z.exe, 7za.exe or 7zfm.exe

Your problem, that 7z don't have support (still :( ) of updates SOLID archives.

You can go two ways:

1. Don't use solid mode (in this case 7-zip can update/replace files in archive), but you lose in compression ratio

2. Full repack of the archive (i.e. unpack to temp folder, replace your "VDefHub.zip" and then pack again all files from temporary folder in 7z archive)

But again... This is not a job of my module :(

All questions about this to Igor Pavlov http://sourceforge.net/forum/forum.php?forum_id=45797

Edited by Oleg_Sch
0

Share this post


Link to post
Share on other sites
My module is DECOMPRESSION of fully created archives only... It can not update/replace files in archives, because don't have any compression functions :( This is the task of 7z.exe, 7za.exe or 7zfm.exe

Hi Oleg

Yeah, i knew that yr module is DECOMPRESSION of fully created archives only.

As i'm not very familiar with 7-zip, i though that 7-zip has a function allowing update/replace files in solid archives to avoid a full repack

Regards

coucou

0

Share this post


Link to post
Share on other sites

Sorry for bothering you again Oleg,

I can't get success creating shrortcuts with special parameter (see config.txt here bellow).

In fact, i extract the solide archive content in C:\WINDOWS\system32\spool\drivers\w32x86\3

then i install pdfMachine_FR.reg

and finally i create the shortcuts

C:\Documents and Settings\All Users\Star Menu\Programs\BroadGun Software\BroadGun pdfMachine options.lnk

Shortcut target C:\WINDOWS\system32\spool\drivers\w32x86\3\bgsview.exe -printer="BroadGun pdfMachine" -config

config.txt

I tried adding double braces {-printer={{"BroadGun pdfMachine"}} -config} without success

;!@Install@!UTF-8!
AutoInstall="%SystemRoot%\\system32\\spool\\drivers\\w32x86\\3"
AutoInstall="regedit /s pdfMachine_FR.reg"
GUIMode="2"
Shortcut="P, {%%T\\bgsview.exe}, {-printer="BroadGun pdfMachine" -config}, {Utilitaires\\Edition\\BroadGun Software}, {BroadGun pdfMachine options}, {BroadGun pdfMachine options}"
Shortcut="P, {%%T\\bgsview.exe}, {-printer="BroadGun pdfMachine" -config}, {Utilitaires\\Edition\\BroadGun Software}, {Entrer vos informations d'enregistrement}, {Entrer vos informations d'enregistrement}"
Shortcut="P, {%%T\\bgsview.exe}, {}, {Utilitaires\\Edition\\BroadGun Software}, {pdfMachine}, {pdfMachine}"
Shortcut="P, {%%T\\bbgshelp.chm}, {}, {Utilitaires\\Edition\\BroadGun Software}, {pdfMachine Aide}, {pdfMachine Aide}"
Shortcut="P, {%%T\\bgsSetup.exe}, {-uninstall}, {Utilitaires\\Edition\\BroadGun Software}, {Désinstallation pdfMachine}, {Désinstallation pdfMachine}"
Shortcut="P, {%%T\\\bgsscan.exe}, {}, {Utilitaires\\Edition\\BroadGun Software}, {pdfScanMachine - Scan to PDF}, {pdfScanMachine - Scan to PDF}"
;!@InstallEnd@!

By launching the solid archive the bellow error message is returned

Error line 5 of configuration data:

BroadGun pdfMachine" -config}, {Utilitaires\\Edition\\BroadGun Software}, {BroadGun pdfMachine options}, {BroadGun pdfMachine options}"

TNX for yr help

coucou

Edited by coucou
0

Share this post


Link to post
Share on other sites

This may be a complete `shot in the dark`, I have read none of this thread and know nothing of the application. I did however look at your example and I am guessing, that the " character(s) on that line could potentially be giving you your error!

<Edit>

Those should normally be escaped.

</Edit>

0

Share this post


Link to post
Share on other sites

coucou

http://7zsfx.solta.ru/en/configinfo.html

IMPORTANT! Certain two-symbol sequences in the Value are parsed as follows:

\\ = \

\" = "

\n = caret return

\t = tabulation (TAB)

As a result, you MUST use DOUBLE backslashes (\\) wherever you normally use backslashes (\) (e.g. in paths or dialog texts). Similarly, if the Value contains double quotes ("), you MUST precede them with a backslash (\").

i.e. yuor configuration file should look so:

;!@Install@!UTF-8!

InstallPath="%SystemRoot%\\system32\\spool\\drivers\\w32x86\\3"

AutoInstall="regedit /s pdfMachine_FR.reg"

GUIMode="2"

Shortcut="P, {%%T\\bgsview.exe}, {-printer=\"BroadGun pdfMachine\" -config}, {Utilitaires\\Edition\\BroadGun Software}, {BroadGun pdfMachine options}, {BroadGun pdfMachine options}"

Shortcut="P, {%%T\\bgsview.exe}, {-printer=\"BroadGun pdfMachine\" -config}, {Utilitaires\\Edition\\BroadGun Software}, {Entrer vos informations d'enregistrement}, {Entrer vos informations d'enregistrement}"

Shortcut="P, {%%T\\bgsview.exe}, {}, {Utilitaires\\Edition\\BroadGun Software}, {pdfMachine}, {pdfMachine}"

Shortcut="P, {%%T\\bbgshelp.chm}, {}, {Utilitaires\\Edition\\BroadGun Software}, {pdfMachine Aide}, {pdfMachine Aide}"

Shortcut="P, {%%T\\bgsSetup.exe}, {-uninstall}, {Utilitaires\\Edition\\BroadGun Software}, {Désinstallation pdfMachine}, {Désinstallation pdfMachine}"

Shortcut="P, {%%T\\\bgsscan.exe}, {}, {Utilitaires\\Edition\\BroadGun Software}, {pdfScanMachine - Scan to PDF}, {pdfScanMachine - Scan to PDF}"

;!@InstallEnd@!

I'm think that you mistaked in second line and meant "InstallPath"

Also remember that your reg file will be executed only in "auto install" mode, i.e. only if "-ai" command line switch present

Use "RunProgram" for normal mode

0

Share this post


Link to post
Share on other sites

Hi Oleg,

By dint of persever and Thanks to you i'll become a 7z SFX Modified Module Expert ;)

It is possible to run a program installation (setup.exe) then to extract only 1 file (patch.exe) from the archive content to the folder where that program was installed (%ProgramFiles%\\MyProg\)???

Is this config.txt file is correct???

;!@Install@!UTF-8!
RunProgram="setup.exe /s"
SetEnvironment="MP=\"%ProgramFiles%\\MyProg\""
RunProgram="cmd /c xcopy patch.exe \" %MP% /y"
GUIMode="2"
;!@InstallEnd@!

Regards

coucou

0

Share this post


Link to post
Share on other sites
Is this config.txt file is correct???

Oleg in holiday :)

Excuse for my bad English. :(

Yes. This should work, but problems are possible! :(

RunProgram = "setup.exe/s" to be started and will expect the process termination. But if setup.exe after start derivates "derived" processes and thus will close the main process setup.exe, RunProgram = "cmd/c xcopy patch.exe \" %MP %/y" it can be started earlier than the program folder %ProgramFiles%\MyProg will be created.

0

Share this post


Link to post
Share on other sites

TNX gora for yr reply.

Well, is there any trick (sleep) to make RunProgram = "cmd/c xcopy patch.exe \" %MP %/y" waiting until RunProgram = "setup.exe/s" has finished the installation???

Regards

coucou

0

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.