Jump to content
Strawberry Orange Banana Lime Leaf Slate Sky Blueberry Grape Watermelon Chocolate Marble
Strawberry Orange Banana Lime Leaf Slate Sky Blueberry Grape Watermelon Chocolate Marble

MSFN is made available via donations, subscriptions and advertising revenue. The use of ad-blocking software hurts the site. Please disable ad-blocking software or set an exception for MSFN. Alternatively, register and become a site sponsor/subscriber and ads will be disabled automatically. 

Oleg_Sch

7z SFX Modified Module and Tools

Recommended Posts

gora    6
Would be nice if someone made a little GUI so no need to manually write text files and use command prompt. Like winrar SFX window ;)

GUI for write config file (interface Russian only)

Creation of a config file Online service (interface Russian only)

Creation 7z SFX archives in Total Commander (interface Russian and English, Help - Russian only)

All on the basis of modified module Oleg_Sch

Edited by gora

Share this post


Link to post
Share on other sites
Jolli    0

Hi there :hello:

There is an other Guy (Georg Wittberger) who mod the SFX modules, with a really "eye-candy" user interface. :thumbup

So, if both can combine together, it would be perfect!

Is this possible?

Regards.

Georg Wittberger Homepage

post-103080-1197479901.jpg

This projects aimes at improving the look and feel of 7-Zip's SFX modules. 

Currently there are two types of customized SFX modules: a simple basic module for general purposes and
a professional-looking advanced module with a modern installer look and feel. All these modules are based
on the original SFX modules so they do not provide any extra functionality.

The main advantages of these customized SFX modules are the consistent look of the start dialog and
the extraction dialog, the support of Windows XP visual styles and additional graphics and
texts to tell unexperienced users what to do with the SFX archive.

Share this post


Link to post
Share on other sites
Oleg_Sch    5
I got a problem with the icon of the exe when the size of the archive is bigger than ~700mb.

The problem is that the icon gets replaced to the boring "white rectangle".

Is this a bug with 7zSD?

If it's a known bug, is there any way to prevent it?

I made some experiments and found that it is not a bug of the module.

I found a description of such problems for Inno Setup. Read this

I do not know how to solve this problem

Share this post


Link to post
Share on other sites
dll32    0
I got a problem with the icon of the exe when the size of the archive is bigger than ~700mb.

The problem is that the icon gets replaced to the boring "white rectangle".

Is this a bug with 7zSD?

If it's a known bug, is there any way to prevent it?

I made some experiments and found that it is not a bug of the module.

I found a description of such problems for Inno Setup. Read this

I do not know how to solve this problem

Thanks for the clarification and thanks for trying, now I at least know what's causing it.

By the way...

I just got an idea, i might just put the installer within another installer, that extract the installer silently and then executes it.

// dLL32

Share this post


Link to post
Share on other sites
coucou    0

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

Share this post


Link to post
Share on other sites
jpeachman    0
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=

Share this post


Link to post
Share on other sites
Yzöwl    30

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!

Share this post


Link to post
Share on other sites
jpeachman    0

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

Share this post


Link to post
Share on other sites
weEvil    0

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.

Share this post


Link to post
Share on other sites
Yzöwl    30
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.

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.

×