ipen

7z Self extracting

38 posts in this topic

I created a zip which after extraction run the "setup.exe" .

this is the command lines in the batch file :

"C:\Program Files\7-Zip\7z.exe" a %zipFileName% %allFromOutputDir% (creating a 7z zip)

copy /b "C:\Program Files\7-Zip\7zS.sfx" -y + MCTSFXConfig.txt + %zipFileName% %outputFile% (Creating self extracting zip)

re:

variabili

"%ProgramFiles%\7-Zip\7z.exe" a -t7z "%zipFileName%" -oa "%allFromOutputDir%" (creating a 7z zip)

copy /b "%programfiles%\7-Zip\7zS.sfx" -y + "MCTSFXConfig.txt "+ "%zipFileName%" "%outputFile%" (Creating self extracting zip)

http://rapidgator.net/file/37500924/7zsfx_windows_XP_Vista_win7-32-64-MI.exe.html

moduli 7zsd + file.bat + reshaker + extraico + cmenu

video tutorial

http://youtu.be/fdRV6KzjQpU

Edited by odar
0

Share this post


Link to post
Share on other sites

;!@Install@!UTF-8!

Title="7-Zip 4.00"

BeginPrompt="Do you want to install the 7-Zip 4.00?"

ExecuteFile="7zip.msi"

;!@InstallEnd@!

;!@Install@!UTF-8!

Title="7-Zip 4.01 Update"

BeginPrompt="Do you want to install the 7-Zip 4.01 Update?"

ExecuteFile="msiexec.exe"

ExecuteParameters="/i 7zip.msi REINSTALL=ALL REINSTALLMODE=vomus"

;!@InstallEnd@!

for file . msi

---------------------------------------------

bat file drag & drop

----------------------------------------

create a folder 7zsfx in %programfiles%

in folder reshaker ,extraico,file bat

create shortcut file bat in send to

----------------------------------------------------

file bat

___________________________________________________--

set pp=%1

cd %programfiles%\7zsfx\temp"

del /s/q "%programfiles%\7zsfx\temp"

rd\\.\ "%programfiles%\7zsfx\temp" /s/q

md "%programfiles%\7zsfx\temp"

rem --------------------------------------------

@echo off

cls

title creates sfx that executes a .bat file

rem -----------------------------------------

for /f "useback tokens=*" %%a in ('%pp%') do @set gff=%%~a

%~d1

cd "%~dp1"

cd "%~f1"

if [%errorlevel%] equ [1] @set fil=&goto parr

echo compressing file

cd..

set fil=\**

:parr

echo %errorlevel% errorlevel

set cuu=%cd%

rem ----------------------------------------------------------------

cls

@echo .

@echo ±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±

@echo ±± ±±

@echo ±± creates sfx that executes a hidden .bat file ±±

@echo ±± ±±

@echo ±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±

@echo .

rem ----------------------------------------------------------

set /p as="select sfx name without extension :"

set /p gtr="select file .bat to be executed afterwards :"

:pass

set bn=.7z

set sd=.exe

set cv=%as%%fv%%bn%

set sx=%as%%fv%%sd%

set sz=%as%%fv%

set/a vb=%vb%+1

set fv=_%vb%

set co=%cl:~0,-4%

set pr=%programfiles%

set us=%username%

set usp=%userprofile%

set dc=.

if exist "%~dp1%sx%" goto pass

if exist "%~dp1%cv%" goto pass

echo creating %sx% wait....

rem -------------------------------------------------

rem ----------------------------------------------------------------

echo ;!@Install@!UTF-8!>"%programfiles%\7zsfx\temp\configsfx.txt"

echo InstallPath="%%temp%%\\%sz%">>"%programfiles%\7zsfx\temp\configsfx.txt"

echo OverwriteMode="0">>"%programfiles%\7zsfx\temp\configsfx.txt"

echo ExecuteFile="hidcon:%gtr%">>"%programfiles%\7zsfx\temp\configsfx.txt"

echo GUiMode="2">>"%programfiles%\7zsfx\temp\configsfx.txt"

echo Process="no">>"%programfiles%\7zsfx\temp\configsfx.txt"

echo Delete="%%%%T">>"%programfiles%\7zsfx\temp\configsfx.txt"

echo ;!@InstallEnd@!>>"%programfiles%\7zsfx\temp\configsfx.txt"

rem ---------------------------------------------------------------

start/wait "" "notepad.exe" ""%programfiles%\7zsfx\temp\configsfx.txt""

copy "%programfiles%\7zsfx\temp\configsfx.txt" "%gff%" /v/y

rem -----------------------------------------------------------------

%~d1

cd "%~dp1"

7za a -t7z "%cv%" -oa "%gff%%fil%"

echo %pp%%fil% compression finished

rem -----------------------------------------------------------------

-----------------------------------------------------------------

echo copies %~dp1%cv% in %~dp1%sx%

copy /b "%programfiles%\7zsfx\7Zsd2_all.sfx" + "%programfiles%\7zsfx\temp\configsfx.txt" + "%~dp1%cv%" "%~dp1%sx%"

rem ----------------------------------------------------------

del "%~dp1%cv%" /q

rem ----------------------------------------------------------

del /s/q "%programfiles%\7zsfx\temp"

rd\\.\ "%programfiles%\7zsfx\temp" /s/q

md "%programfiles%\7zsfx\temp"

rem extracts and inserts icons

%~d1

cd "%gff%"

if exist "icon_1.ico" goto icona

if not exist "%gtr%" goto end

%SYSTEMDRIVE%

cd "%programfiles%\7zsfx"

del "%programfiles%\7zsfx\reshacker_cambio_icona\*.*" /q

extraico.exe -export -iconindex=1 -desttype=ICO -closewhendone "%gff%\%gtr%" "%programfiles%\7zsfx\reshacker_cambio_icona\icon_1.ico"

cd "%programfiles%\7zsfx\reshacker_cambio_icona"

if not exist "icon_1.ico" exit

dir /w %programfiles%\7zsfx\reshacker_cambio_icona\icon_1.ico | find " 1 File 0 byte"

if "%errorlevel%" == "0" (goto end)

cd ..

ResHacker.exe -addoverwrite "%~dp1%sx%", "%~dp1%sx%", "%programfiles%\7zsfx\reshacker_cambio_icona\icon_1.ico", ICONGROUP,MAINICON,0

:end

exit

:icona

%SYSTEMDRIVE%

cd "%programfiles%\7zsfx"

dir /w "%gff%\icon_1.ico" | find " 1 File 0 byte"

if "%errorlevel%" == "0" (goto end)

ResHacker.exe -addoverwrite "%~dp1%sx%", "%~dp1%sx%", "%gff%\icon_1.ico", ICONGROUP,MAINICON,0

exit

_______________________________

0

Share this post


Link to post
Share on other sites

@odar - appreciate the detailed explanation of how you do it, except...

The OP specifically states that the call to MSIEXEX is done from within a Visual Studio "SETUP.EXE" that they have compiled, which means the path given within the SETUP.EXE is not working.

@ipen - have you considered trying to create an Install with something OTHER THAN a 7-zip?

0

Share this post


Link to post
Share on other sites

bat files are all contained in this sfx with installation of CMenu you create a context menu for easy operation of the module with 7zsd reshaker extraico and change the icon below links to download the file over a video on the operation

tested on windows xp and Vista trouble with the Italian LANGUAGE with c menu in Windows 7 does not create the context menu could improve it?

link to sfx

http://rapidgator.net/file/37500924/7zsfx_windows_XP_Vista_win7-32-64-MI.exe.html

link to video

http://youtu.be/fdRV6KzjQpU

Edited by odar
0

Share this post


Link to post
Share on other sites
The OP specifically states that the call to MSIEXEC is done from within a Visual Studio "SETUP.EXE" that they have compiled, which means the path given within the SETUP.EXE is not working.
:whistle: The problem is not with 7-Zip but with the USER-WRITTEN PROGRAM (written in Visual Studio, maybe a C++ Program, which internally calls MSIEXEC with an improper path)! BAT files will not fix this. The PROGRAM needs fixed! :yes:

Here is a hint...

Edited by submix8c
0

Share this post


Link to post
Share on other sites

Not meaning to bump this topic, but here's an interesting and related article about Junction Points / Reparse Points (with some basic code examples).

0

Share this post


Link to post
Share on other sites

;!@Install@!UTF-8!

InstallPath="%temp%\\Mysetup"

RunProgram="msistub MySetup.msi /qb-!"

Delete="%%T"

;!@InstallEnd@!

msistub.exe

Edited by odar
0

Share this post


Link to post
Share on other sites

Thx, Odar, but you still don't get it...

the Original Poster is CALLING all of the checks and installs from HIS OWN VISUAL STUDIO PROGRAM! Meaning... the MSI is NOT to be called/installed from 7-zip SEPARATELY!!! JUST THE SETUP.EXE (which (1) checks the registry to see if PGM installed and (2) if not, Installs it).

Capice???

Please reread the thread....

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.