Oleg_Sch

7z SFX Modified Module and Tools

514 posts in this topic

2 Oleg_Sch,

I am using version 1.5.0.2367 of the modified module on XP SP3 x86.

I created a config.txt with Language Sections.

By chance, there were syntax errors in the Language Sections, but the Main Section was without any syntax errors.

After I made the SFX with this config.txt, I tested it by running the SFX with the language switch -sfxlang:nnnn.

The software was installed but the language section was NOT run. There were NO error messages.

Usually, if the main section has syntax errors there is an error message giving the line number where the syntax error is located.

After I corrected the syntax error in the config.txt and rebuilt the SFX. I tested again with the language switch and the result was that the software was installed and the language section WAS run.

So, I think this would be a bug. Shouldn't the module give a similar error message for syntax errors in the language sections of the config.txt?

Otherwise it appears as if the installation is complete, including the language section parameters.

Thanks again, for a very useful tool.

0

Share this post


Link to post
Share on other sites

2 visegrip

1 Show your config file (with errors)

2 Give the step by step instructions to reproduce the bug.

0

Share this post


Link to post
Share on other sites

2 visegrip

1 Show your config file (with errors)

2 Give the step by step instructions to reproduce the bug.

First, I am sorry but my description of the issue in my previous post is not correct.

So, ignore my previous post completely.

After more testing, this particular syntax error is not detected by the module at all.

It doesn't matter if it is in the main section or a language section of the config.txt.

I am sorry if this is a previously known limitation of the module.

Therefore, I have reduced the config.txt to:

;!@Install@!UTF-8!
GUIMode="2"
MiscFlags="4"
Title="PhotoScape v.3.6.2"
SetEnvironment="app_name=PhotoScape"
SetEnvironment="app_path=%ProgramFiles%\\%app_name%\\"
SetEnvironment="add_reg=rundll32.exe advpack.dll,LaunchINFSection PhotoScapeReg.inf,DefaultInstall,3,N"
SetEnvironment="add_files=hidcon:xcopy %app_name% \"%app_path%\" /s /e /i /y"
RunProgram="%add_files%"
RunProgram="%add_reg%"
RunProgram="hidcon:cmd /c copy Lang\\ar\\lang_3_6.txt\" \"%app_path%\" /y"
Shortcut="P,{%app_path%\\%app_name%.exe},{},{%app_name%},{},{%app_name%}"
Shortcut="Du,{%app_path%\\%app_name%.exe},{},{},{},{%app_name%}"
Shortcut="26,{%app_path%\\%app_name%.exe},{},{Microsoft\\Internet Explorer\\Quick Launch},{},{%app_name%}"
;!@InstallEnd@!

The syntax error is on line 11. There is \" after lang_3_6.txt (which should not be there.)

This mistake causes line 11 to fail however no error message is ever given by module.

So, apparently the module is not capable of detecting this type of syntax error. ("hanging": \")

Perhaps it could be added to the detection method of the module?

0

Share this post


Link to post
Share on other sites

2 visegrip

It's not a bug!

Example:

;!@Install@!UTF-8!
RunProgram="cmd /k Echo Print one double quote \" "
RunProgram="cmd /k Echo Print two double quotes \" \" "
RunProgram="cmd /k Echo Print three double quotes \" \" \" "
;!@InstallEnd@!

Another example:

;!@Install@!UTF-8!
SetEnvironment="prnt=cmd /k Echo Print path \"%programfiles%\\"
RunProgram="%prnt%7-Zip\""
RunProgram="%prnt%Adobe\\Reader 10.0\""
;!@InstallEnd@!

All the lines are correct!

Edited by gora
0

Share this post


Link to post
Share on other sites

Hmmmm.

I understand both your examples.

Thanks for those.

So, to allow the possibility of your examples, my example is not detected as a syntax error by the module?

Or to say it another way, if line 11 in my example is not a syntax error according to the module--what should be the expected result of line 11?

0

Share this post


Link to post
Share on other sites

The module checks syntax of a design:

Parameter_name="value_parameter"

In "value_parameter" there should not be double quotes without a slash.

The module doesn't check even/odd number of double quotes with slashes in "value_parameter".

The rest in "value_parameter" the user should supervise all.

The module can't replace a brain of the user! :no:

0

Share this post


Link to post
Share on other sites

In "value_parameter" there should not be double quotes without a slash.

The module doesn't check even/odd number of double quotes with slashes in "value_parameter"...

This explains everything.

I guess I was expecting too much after receiving syntax error messages in the past which helped me to correct mistakes I had made.

I guess syntax highlighting for \" would be nice in the text editor.

Thanks again, gora. You have helped me to understand the working of the module a bit better.

0

Share this post


Link to post
Share on other sites

I use EmEditor with highlighting. It looks so

0

Share this post


Link to post
Share on other sites

Yes, something like that would be nice to use with config.txt.

0

Share this post


Link to post
Share on other sites

2 Oleg_Sch or gora,

Is %7zSfxFolder43% equivalent to:

%PROGRAMFILES%\Common Files

or

C:\Program Files\Common Files

??

0

Share this post


Link to post
Share on other sites

Read here, please

Bonus :)

Edited by gora
0

Share this post


Link to post
Share on other sites

2 Oleg_Sch or gora,

Question:

What is the command line to add two languages in a 7zSFX with many language sections?

I have tried:

7zSFX.exe -sfxlang:nnnn:mmmm

7zSFX.exe -sfxlang:nnnn+mmmm

7zSFX.exe -sfxlang:nnnn;mmmm

7zSFX.exe -sfxlang:nnnn,mmmm

Is it possible?

Next Question,

I'm having problems with:

\"%^PROGRAMFILES%\\Some Software Name\"

I want:

%PROGRAMFILES%\Some Software Name

I don't want:

C:\Program File\Some Software Name

What I am getting:

%^PROGRAMFILES%\Some Software Name

Purpose:

I am trying to add a Type REG_EXPAND_SZ value to the registry.

How do I get the string name returned instead of the string value for %PROGRAMFILES% ?

Thanks.

Edited by visegrip
0

Share this post


Link to post
Share on other sites

1 No. It is impossible. Syntax of a key:

-sfxlang:xxxx

The key of sfxlang can be only one in CL

2 Export your key to the.reg file and bring him here. I convert it to a line of a config

Edited by gora
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.