Jump to content

7z SFX Modified Module and Tools


Oleg_Sch

Recommended Posts

  • 3 weeks later...

Author's response, original here

Translation by Google

FAQ

Q: whether it is possible for the sfx archive to create a password that is the usual starting sfx archives as it does not ask himself introduced, and when you try to just unpack it asked for the password

A: It is impossible. Modules with this support is not available officially. While using his "power", I give these modules only to those who helped me / puts some effort in the development of the module, references to it and related files. Consider it my selfishness.

Link to comment
Share on other sites

  • 3 weeks later...

I'm at a loss on how to extract something to C:\ProgramData\ on Vista/7 or "C:\Documents and Settings\All Users\Application Data\" on XP.

I do know the path is stored in HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders (the entry which contains the path is 'Common AppData')

But if I do a reg query and attempt to copy the file to the location I got from the registry, the environment variable isn't converted to a path, so instead of copying the files to "C:\ProgramData\" the batch will consider "%ProgramData%" as a folder name instead of a variable. The same happens on XP, except the default value of the entry is "%ALLUSERSPROFILE%\Application Data"

I haven't found a way to reparse the variable to get the actual path.

This is what I'm using to query the registry

FOR /F "tokens=3* delims=	 " %%A IN ('REG QUERY "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v "Common AppData"') DO SET extractpath=%%B

What I need is a way to reparse %extractpath% to get the full path instead of the environment variable.

The reason I can't just type the path on the SFX config is because it needs to work on every Windows locale and it also needs to work whether the value of "Common AppData" is the default or not.

Edit: Nevermind. I can get the full path from "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders"

Anyone looking for something similar this is what I've come up with. Not sure if it's the easiest/best option but...

RunProgram="hidcon:cmd /C FOR /f \"tokens=3*\" %a IN ('REG QUERY \"HKLM\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Shell Folders\" /v \"Common Appdata\" ^| findstr /c:\"Common Appdata\"') DO XCOPY \"%temp%\\Whatever_folder_or_file_Im_copying" \"%b\\Folder\" /H /E /Y"

The above code will copy something from "%temp%\Whatever_folder_or_file_Im_copying" to "C:\ProgramData\Folder" on Windows Vista or newer.

On XP/2k3 it will copy from "%temp%\Whatever_folder_or_file_Im_copying" to "C:\Documents and Settings\All Users\Application Data\Folder" or the equivalent 'Common AppData' folder on non-english versions of Windows.

Edited by ElDiabl0
Link to comment
Share on other sites

2 ElDiabl0

Everything is much easier ...

RunProgram="hidcon:XCOPY \"%temp%\\Whatever_folder_or_file_Im_copying\" \"%7zSfxFolder35%\\Folder\" /H /E /Y"

The value of the variable:

Win XP

7zSfxFolder35=C:\Documents and Settings\All Users\Application Data

Win 7

7zSfxFolder35=C:\ProgramData

Link to comment
Share on other sites

2 bphlpt

You can create this list yourself...

;!@Install@!UTF-8!
RunProgram="cmd /c @echo off& set& pause>nul"
AutoInstall="hidcon:cmd /c set>%SystemDrive%\\vars.txt"
; This SFX archive was created using "Button for creation and work with 7z SFX archives v4.1.4.1919 [x64]" 19.03.2012 13-22. The last version of "Button" you can find on http://buttontc.7zsfx.info
;!@InstallEnd@!

Link to comment
Share on other sites

2 ElDiabl0

Everything is much easier ...

RunProgram="hidcon:XCOPY \"%temp%\\Whatever_folder_or_file_Im_copying\" \"%7zSfxFolder35%\\Folder\" /H /E /Y"

The value of the variable:

Win XP

7zSfxFolder35=C:\Documents and Settings\All Users\Application Data

Win 7

7zSfxFolder35=C:\ProgramData

I cant really add one variable for each WinXP locale and the 'Common AppData' folder may also be stored on another location.

Edit: Just realized what you meant, and yes, extracting to %7zSfxFolder35% is a lot better than what I was doing.

Question, can I run a cmd command to kill a process BEFORE extracting the files to InstallPath=?

Edited by ElDiabl0
Link to comment
Share on other sites

I'm testing the latest 7z SFX "all" module, but sometimes there's an error:

Insufficient physical memory available. Extracting might take a long time

Given the fact that this is a silent install, it would be nice if there was some method to suppress this message?

Cheers,

Link to comment
Share on other sites

some method to suppress this message?

MiscFlags="x"

1 - do not check the disk space required for the extraction process

2 - do not check the size of physical memory required for the extraction process

4 - ...

8 - ...

Flags can be added, for example, MiscFlags="1+2"

Link to comment
Share on other sites

  • 2 weeks later...

for 7zsd
http://www43.zippyshare.com/v/89885809/file.html
in this packet sfx container module 7zsd with resources hacker and cmenu and extraico
extract automatic in %programfiles%\7zsfx
into folder 7zsfx file .bat
with cmenu create context menu for .bat file
file bat compress folder in .7z and create file configsfx.txt for 7zsfx
open file configsfx.txt during process for modifier file when closing continue process
and create sfx with name folder and lunch file.exe
with extraico estract ico file from .exe and with reshacker change ico in the file sfx
problem cmenu dont work in win 7
don't create menu context for this utility

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