Jump to content

7z SFX Modified Module and Tools


Oleg_Sch

Recommended Posts

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

Link to comment
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
Link to comment
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

Link to comment
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
Link to comment
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>

Link to comment
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

Link to comment
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

Link to comment
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.

Link to comment
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

Link to comment
Share on other sites

It is possible to try so:

;!@Install@!UTF-8!
SetEnvironment="MP=\"%ProgramFiles%\\MyProg\""
RunProgram="hidcon:cmd /c setup.bat"
GUIMode="2"
;!@InstallEnd@!

And in setup.bat to make so:

@echo off
start /b /WAIT "" "%%T\setup.exe" /s
:_loop
IF EXIST "%ProgramFiles%\MyProg\filename" (
xcopy "%%T\patch.exe" "%MP%" /y
) ELSE (
goto :_loop
)
EXIT

Where filename substitute from installed applications.

Edited by gora
Link to comment
Share on other sites

off: the red-white-blue combination of flags is favo here :lol:

Hey Gora.

Thanks for you documentation on the 7z SFX site and your support here!

I see in the post above that you know everything ;) about a 'wait' in 7z SFX.

Now I have (and many people with me) the following problem. I use this parameters:

SetEnvironment="Var2=%ProgramFiles%\\Mozilla Firefox\\extensions\\*.xpi"
SetEnvironment="Var5=%ProgramFiles%\\Mozilla Firefox\\extensions"
RunProgram="hidcon:cmd FOR /f %%i IN ('DIR /b /a-d \"%Var2%\"') DO \"%Var1%\" -install-global-extension \"%Var5%\\%%i\""

There are are some (2 or more) *.xpi (can't know and use the exactly names of the xpi's).

The RunProgram could normally install every xpi which stored in the "ProgramFiles%\Mozilla Firefox\extensions" folder. But the problem is that there is not enough pause between each extension (xpi). So one or none extensions will be installed. The 'ping localhost methode' doesn't work at all...so do you know a solution?

Thanks in advance.

Edited by Inferi0r
Link to comment
Share on other sites

I do not see in your code %Var1%!? What is it?

Designs FOR/f %% i IN (' DIR/b/a-d "%Var2 %" ') DO "%Var1 %"-instal-global-extension"%Var5 % \%%i" should work only in the presence of command SETLOCAL ENABLEEXTENSIONS. Where at you it?

Publish a configuration file completely.

If you execute some commands in cmd.exe, and they are connected among themselves by variables all of them should be located in one parametr RunProgram. Parametres and variables remain only within one session cmd.exe.

If some commands cannot be written in one line in cmd.exe use bath a file and start it from RunProgram

Link to comment
Share on other sites

Sorry gora... i was thinking that it was better don't post unneeded information, but I make a fault.

;!@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="\"%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 packed extensions after install

Delete="%Var2%"

; // Set Adblock Plus settings if exist

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

RunProgram="hidcon:cmd IF EXIST patterns.ini 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 not set by default)

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

; // Delete all packed themes after install

; Delete="%Var3%"

;!@InstallEnd@!

Set local extension? Never heard about that. I'll take a look into it.

Edit: I read here:

Command Extensions are enabled by default, DisableExtensions will attempt to disable Command extensions. (ENABLEEXTENSIONS - will attempt to re-enable)

So I don't understand why use SETLOCAL EnableExtensions, because I haven't disabled them.

Edited by Inferi0r
Link to comment
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.
×
×
  • Create New...