• 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

Updates of the site and files (and sources) will be available in first or second week of January.

Sorry, but now i'm too busy :(

1

Share this post


Link to post
Share on other sites

Hi,

To add a language file to some apps, i'm using the following AutoIt script to check the "HKCU\Control Panel\International\sLanguage" registry value, if it equal to "FRA" the i copy/run my language file.

$Lang = RegRead("HKEY_CURRENT_USER\Control Panel\International", "sLanguage")
If $Lang = "FRA" Then
RunWait("HS62001_LangFR.exe")
EndIf

The size of that compiled autoit script file is about 200K.

To downsize the final archive file, i have to translate the above .au3 file to a .cmd file.

Anyone can help writing that .cmd script?

Regards

coucou

0

Share this post


Link to post
Share on other sites
To add a language file to some apps, i'm using the following AutoIt script to check the "HKCU\Control Panel\International\sLanguage" registry value, if it equal to "FRA" the i copy/run my language file.
$Lang = RegRead("HKEY_CURRENT_USER\Control Panel\International", "sLanguage")
If $Lang = "FRA" Then
RunWait("HS62001_LangFR.exe")
EndIf

The size of that compiled autoit script file is about 200K.

To downsize the final archive file, i have to translate the above .au3 file to a .cmd file.

Anyone can help writing that .cmd script?

Try:

FOR /F "tokens=2*" %%a in ('REG QUERY "HKCU\Control Panel\International" /v sLanguage') DO @(SET Lang=%%b)
IF "%Lang%"=="FRA" START /WAIT HS62001_LangFR.exe
SET Lang=

0

Share this post


Link to post
Share on other sites

Just an additional note to the above, there is no real need to either use a for loop or set a variable which isn't needed.

@reg query "hkcu\control panel\international" /v slanguage|find "FRA">nul 2>&1&&start "" /wait hs62001_langfr.exe

All the above is one line!

Also if you were to use program to hide the console window then you could shorten it a little too.

reg query "hkcu\control panel\international" /v slanguage|find "FRA"&&start "" /wait hs62001_langfr.exe

All the above is one line again!

0

Share this post


Link to post
Share on other sites

Excellent point about there being no need to set a variable! I confess I haven't written any AutoIT scripts and was just attempting a pretty literal translation of the original into a batch file. I didn't write the FOR loop so nicely, either. It can easily be done with a single iteration, and everything can go on one line with unwanted output suppressed too by using:

@FOR /F "tokens=3 skip=4" %%a IN ('REG QUERY "HKCU\Control Panel\International" /v sLanguage') DO @IF "%%a"=="FRA" START /WAIT HS62001_LangFR.exe

Yzöwl's example of piping through FIND is still slightly shorter than this, though. Where using FOR rather than FIND might be shorter and more straightforward is if you were testing for more than one condition. For a three-language example:

@FOR /F "tokens=3 skip=4" %%a IN ('REG QUERY "HKCU\Control Panel\International" /v sLanguage') DO @IF "%%a"=="FRA" (START /WAIT HS62001_LangFR.exe) ELSE IF "%%a"=="DEU" (START /WAIT HS62001_LangDE.exe) ELSE IF "%%a"=="ENU" (START /WAIT HS62001_LangEN.exe)

It's probably good to know both techniques; still, Yzöwl's method is shortest for the specific need expressed by coucou! :thumbup

0

Share this post


Link to post
Share on other sites

So exactly what does this application do?

It would be nice to have a little snippet of info in the OPs post. Maybe a screenshot too if appropriate.

0

Share this post


Link to post
Share on other sites
So exactly what does this application do?

It would be nice to have a little snippet of info in the OPs post. Maybe a screenshot too if appropriate.

All the info you need is presented on the website through links provided in the opening post of this topic. Unfortunately the site is down for a while so you'd have to wait for it to come back up again for that info.

If you've already got the module it has a reasonably good help file with it giving switches, options and usage examples etc.

0

Share this post


Link to post
Share on other sites

Many Many Many TNX jpeachman and Yzöwl :thumbup

Happy New 2008

coucou

0

Share this post


Link to post
Share on other sites
No Add Password Support ??

AFAIK Oleg_Sch modules doesn't support encripted archives, isn't it?

In my opinion it could be useful if I send a secret file to someone, so I simply have to say: "launch it, input password and enjoy it" (without have to extract, then browse to get it, then finally launch it).

ATM WinRAR sfx can do it, so... why Oleg_Sch should have to not do it? :rolleyes:

0

Share this post


Link to post
Share on other sites

Hi, AlbatroS.

Compression of the module can cause FALSE detection of some anti-virus programs. In this case you can switch-off compression of the module through a file Settings.ini:

; To use compression - 1 or 2, is not use - 0

useUPX=0

All this is in detail described in Russian Manual. ;)

0

Share this post


Link to post
Share on other sites
In this case you can switch-off compression of the module through a file Settings.ini:

Thanx for reply :-)

I hope Oleg_Sch will reply too (will modules support encripted archives?).

0

Share this post


Link to post
Share on other sites

Hi, AlbatroS.

I hope Oleg_Sch will reply too (will modules support encripted archives?).

If you will be satisfied with my answer, at Russian forum Oleg_Sch responded, that: "Support by the module of encryption is NOT planned"

0

Share this post


Link to post
Share on other sites
Hi, AlbatroS.

Compression of the module can cause FALSE detection of some anti-virus programs. In this case you can switch-off compression of the module through a file Settings.ini:

; To use compression - 1 or 2, is not use - 0

useUPX=0

Hi, gora.

Upacked files (Total Commander tool use Upack even if it shows "UPX" in settings.ini) are generically tagged as malicious/suspicious by some AVs. Below you can see Virustotal results of same file packed using UPX instead.

So can UPX be considered best way to compress without AVs false detection risk?

UPX packer:

AhnLab-V3 2008.1.19.10 2008.01.18 -

AntiVir 7.6.0.48 2008.01.20 -

Authentium 4.93.8 2008.01.20 -

Avast 4.7.1098.0 2008.01.20 -

AVG 7.5.0.516 2008.01.19 -

BitDefender 7.2 2008.01.20 -

CAT-QuickHeal 9.00 2008.01.19 -

ClamAV 0.91.2 2008.01.20 -

DrWeb 4.44.0.09170 2008.01.19 -

eSafe 7.0.15.0 2008.01.16 suspicious Trojan/Worm

eTrust-Vet 31.3.5470 2008.01.18 -

Ewido 4.0 2008.01.20 -

FileAdvisor 1 2008.01.20 -

Fortinet 3.14.0.0 2008.01.20 -

F-Prot 4.4.2.54 2008.01.19 -

F-Secure 6.70.13260.0 2008.01.19 -

Ikarus T3.1.1.20 2008.01.20 -

Kaspersky 7.0.0.125 2008.01.20 -

McAfee 5211 2008.01.18 -

Microsoft 1.3109 2008.01.20 -

NOD32v2 2807 2008.01.19 -

Norman 5.80.02 2008.01.18 -

Panda 9.0.0.4 2008.01.19 -

Prevx1 V2 2008.01.20 -

Rising 20.27.62.00 2008.01.20 -

Sophos 4.24.0 2008.01.20 -

Sunbelt 2.2.907.0 2008.01.17 -

Symantec 10 2008.01.20 -

TheHacker 6.2.9.191 2008.01.19 -

VBA32 3.12.2.5 2008.01.19 -

VirusBuster 4.3.26:9 2008.01.20 -

Webwasher-Gateway 6.6.2 2008.01.20 -

0

Share this post


Link to post
Share on other sites

Hi, AlbatroS.

In the first versions of "button" it was used UPX and you can use UPX instead of WinUpack. In a file Settings.ini make the following:

; Path to the UPX
pathUPX=!COMMANDER_PATH!\Utilites\SFX Tool\upx.exe
;pathUPX=!COMMANDER_PATH!\Utilites\SFX Tool\Upack.exe
; To use compression - 1 or 2, is not use - 0
useUPX=1
; The command line for UPX
cmdlinUPX=--best --all-methods
;cmdlinUPX=-c2 -f222

File upx.exe put in the specified folder or replace a way to it.

0

Share this post


Link to post
Share on other sites

I cant seem to find any documentation on how to specify InstallPath as a parameter on the exe, is it possible?

If not, is there any alternative way?

0

Share this post


Link to post
Share on other sites
I cant seem to find any documentation on how to specify InstallPath as a parameter on the exe, is it possible?

If not, is there any alternative way?

InstallPath="path_to_extract"

Sets the extraction path. The extraction folder will not be deleted after the extraction.

If the 'InstallPath' value is not present in the config file or the path was deleted from the interactive extraction dialog, the archive will be extracted to a temporary folder. This temporary folder will be deleted after the extraction and execution of all commands.

Environment variables are allowed (with the exception of %%T and variables defined in 'SetEnvironment', if %%T is used in any of them). You MUST use DOUBLE backslashes in paths. For example:

InstallPath="C:\\Windows\\system32\\test"

or

InstallPath="%PROGRAMFILES%\\test"

Relative paths are allowed. The current folder is the one from which the program launching SFX archive was executed. For example,

InstallPath="test"

creates a folder with the name of "test" in the folder from which the program launching SFX archive was executed. All files will be extracted to the "test" folder. On the other hand,

InstallPath="."

extracts the archive content to the folder from which the program launching SFX archive was executed. Also,

InstallPath="%%S"

extracts the archive content to the folder where the SFX is located.

If all you need is to extract the archive content to a certain folder, you need to specify a value for 'InstallPath' in the config file. In this case you should not specify 'RunProgram' or 'ExecuteFile' in the config file. 'AutoInstall' or 'AutoInstallX' may be specified in the config file, but should not be invoked via the command line or with the [sHIFT] key. If you specify 'RunProgram' or 'ExecuteFile' or invoke 'AutoInstall' and 'AutoInstallX', the specified executable will be launched after the extraction.

0

Share this post


Link to post
Share on other sites

dll32,

If you mean "as command line parameter", then it is impossible in current version. This is in ToDo list for version 1.3.

Edited by Oleg_Sch
0

Share this post


Link to post
Share on other sites
dll32,

If you mean "as command line parameter", then it is impossible in current version. This is in ToDo list for version 1.3.

Yes i did! :rolleyes:

Then i'm waiting for v1.3 then :D

0

Share this post


Link to post
Share on other sites

Sorry, I didn't understand how it works. I downloaded the http://7zsfx.solta.ru/en/files/715/7zSD.7z and after extraction, I got the 7zsd.sfx and now what? how can this File help me to create SFX Archives from the command line?

Thanks for help in advance!

0

Share this post


Link to post
Share on other sites

I just found these more extensive modules and am playing with them a bit. I had be using 7-Zip's defaults to create SFX files. I'm testing it on an Adobe reader install. Before, I used to have it run a batch file after unpacking. The batch file would install the app and remove various shortcuts. I'm trying to thin the code down with these new modules...

It does the install just fine but never deletes that stupid little shortcut. Ideas?

config.txt

;!@Install@!UTF-8!
Title="Adobe Reader Installation"
; // Quiet install that shows progress bar only
GUIMode="1"
; // Set environments
SetEnvironment="Var1=\"%ALLUSERSPROFILE%\\DESKTOP\\ADOBE READER 8.LNK\""
; // Installation
ExecuteFile="fm05:AdbeRdr812_en_US.exe"
; // Switches
ExecuteParameters="/sPB /rs /l /msi\"/qb-! /norestart /log c:\\acrobat8.log ALLUSERS=2 EULA_ACCEPT=YES SUPPRESS_APP_LAUNCH=YES\"\""
; // Deletes the shortcut dropped on the desktop
Delete="%Var1%"
FinishMessage="Adobe Reader has been installed."
;!@InstallEnd@!

0

Share this post


Link to post
Share on other sites

rkillcrazy, may be so:

SetEnvironment="Var1=%ALLUSERSPROFILE%\\DESKTOP\\ADOBE READER 8.LNK"

You have errors in line

ExecuteParameters="/sPB /rs /l /msi\"/qb-! /norestart /log c:\\acrobat8.log ALLUSERS=2 EULA_ACCEPT=YES SUPPRESS_APP_LAUNCH=YES\"\""

Check up inverted commas.

0

Share this post


Link to post
Share on other sites
rkillcrazy, may be so:
SetEnvironment="Var1=%ALLUSERSPROFILE%\\DESKTOP\\ADOBE READER 8.LNK"

You have errors in line

ExecuteParameters="/sPB /rs /l /msi\"/qb-! /norestart /log c:\\acrobat8.log ALLUSERS=2 EULA_ACCEPT=YES SUPPRESS_APP_LAUNCH=YES\"\""

Check up inverted commas.

OK, that worked fine - thanks!

However, how can you tell I have errors in the line full of switches? It runs fine in a normal batch file with those switches. I had to escape a few of those quotes with back slashes so it looks a little different from what you'd see using a command line. Furthermore, as far as I can tell, it installs without errors when using the SFX file. Am I missing something?

config.txt

;!@Install@!UTF-8!
Title="Adobe Reader Installation"
; // Quiet install that shows progress bar only
GUIMode="1"
; // Sets variables
SetEnvironment="Var1=%ALLUSERSPROFILE%\\DESKTOP\\ADOBE READER 8.LNK"
; // Installation
ExecuteFile="AdbeRdr812_en_US.exe"
; // Switches are: /sPB /rs /l /msi"/qb-! /norestart /log c:\acrobat8.log ALLUSERS=2 EULA_ACCEPT=YES SUPPRESS_APP_LAUNCH=YES""
ExecuteParameters="/sPB /rs /l /msi\"/qb-! /norestart /log c:\\acrobat8.log ALLUSERS=2 EULA_ACCEPT=YES SUPPRESS_APP_LAUNCH=YES\"\""
; // Deletes the shortcut dropped on the desktop
Delete="%Var1%"
;!@InstallEnd@!

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.