Welcome to MSFN

Register now to gain access to all of our features. Once registered and logged in, you will be able to contribute to this site by submitting your own content or replying to existing content. You'll be able to customize your profile, receive reputation points as a reward for submitting content, while also communicating with other members via your own private inbox, plus much more! This message will be removed once you have signed in.


keytotime

How to make a 7-Zip Switchless Installer

288 posts in this topic

  1. Download and install the latest version of 7-Zip.
  2. Make a folder to copy all of the installation files to. If you are using a .msi include Msistub.exe in the folder. Make sure the installer name is under 8 character and has no spaces.
  3. Select all of them and right click on any file.
  4. Select "Add to archive...", which is under the select option.
    26dr.png
  5. You can make the archive name to whatever you want it to be. Set the compression level to Ultra.
    archive0jd.png
  6. Hit OK. Once the archive is created, you can delete all files except the archive.
  7. Copy 7zs.sfx to the folder containing the archive. This one has no cancel button.
  8. If you want, you can change the icon of the installer by replacing the icon in 7zS.sfx using ResHacker. For example, you can use the icon from the main program. Remember to save 7zS.sfx when you're finished.
    53lw.png
    In order to get rid of the cancel button and the close button, go to Dialog→500→1033. Select all then paste in this code:
    500 DIALOG 0, 0, 186, 26
    STYLE DS_FIXEDSYS | DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION
    CAPTION "Progress"
    LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
    FONT 8, "MS Shell Dlg"
    {
    CONTROL "Progress1", 1000, "msctls_progress32", PBS_SMOOTH | WS_CHILD | WS_VISIBLE | WS_BORDER, 7, 7, 172, 14
    }


    In order to get rid of everthing paste in this code.

    500 DIALOG 0, 0, 0, 0
    STYLE WS_POPUP
    CAPTION "Progress"
    LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
    FONT 8, "MS Shell Dlg"
    {
    }

    Select compiles and then save

  9. Open Notepad and add the following:
    ;!@Install@!UTF-8!
    RunProgram="program.exe –switch"
    ;!@InstallEnd@!

    Replace program.exe with the name of your installer (including the extension). Replace -switch with the desired switch(es) to be used. You can also use a .cmd.
    If you are using a .msi package you will need to use Msistub.exe. Msistub.exe will have to be inside the archive. The code for config.txt will be:

    ;!@Install@!UTF-8!
    RunProgram="msistub program.msi /qb-!"
    ;!@InstallEnd@!


    Where program.msi is the name of the msi. You can use /qb-! for an install with a progress screen and /qn for a install with no screen.

  10. Save as config.txt with UTF-8 encoding by selecting "UTF-8" from the dropdown menu in the "Save As..." dialog in Notepad. Save it to the same folder as 7zS.sfx and the 7z archive.
    config1gf.png
  11. The folder should now look something like this:
    end0ma.png
  12. Open a command prompt. CD to the folder. Then enter the following command:
    copy /b 7zs.sfx + config.txt + (whatever the archive name).7z (Installer_Name).exe


    cmd2yf.png

That's it, you're done. Try it out.

Thanks Mavericks choice and RyanVM. Added .msi information.

7zS.zip

msistub.exe

Edited by keytotime
0

Share this post


Link to post
Share on other sites

excellent!

why do u need this?

"msiexec /i program.msi /qb-!\""

what is the purpose of the msiexec?

i hv several msi installers and i never use this and it still works.

0

Share this post


Link to post
Share on other sites

@ Astalavista, a .msi is an install package that calls on msiexec. msiexec /i tells windows to install the .msi. Since 7-zip can not call on msiexec directly we need StartX to call on msiexec for us. Type in msiexec /? at run to see more.

0

Share this post


Link to post
Share on other sites

thanks keytotime for explaining that to me.

i use a quick batch file converter to make my "Installer.exe"

remember u told me i dont hv to use it anymore.

My Installer.exe is much smaller than StartX.exe and i can put multiple

commands in it. Just like evilvoice's method.

good job man... great to hv a new guide to help everyone make their own

7zip applications. Hopefully we will be seeing a rise in pre 7zip applications in the future.

0

Share this post


Link to post
Share on other sites

I used startx becuase it is free and i know that o some machines batch files converted using quick batch file coverter does not work. My machine being one of them :whistle: . Also startx compressed with upx is 90Kb while your installer.exe for office is 144. I atached the compressed startx in my original post.

0

Share this post


Link to post
Share on other sites

Actually i did not upx my installer.exe

if i did it would only be 80kb

thanks for reminding me. i will update it now

0

Share this post


Link to post
Share on other sites

bah this is retarded, we're arguing over 10kb. Startx is free and works better than qbf for me. A for the multiple commands. That why we can do

REG ADD %KEY%\020 /VE /D "Symantec Antivirus 9.3" /f

REG ADD %KEY%\020 /V 1 /D "%CDROM%\Apps\sav.exe" /f

REG ADD %KEY%\020 /V 2 /D "REGEDIT /S %CDROM%\Apps\1.reg" /f

0

Share this post


Link to post
Share on other sites

I agree if u dont hv quick batch file converter, startX.exe is for you.

0

Share this post


Link to post
Share on other sites

There is an MSI installer of 7-zip? I was actually looking for one a few days ago but didn't find anything. Not on the official site, not somewhere else. Maybe it's in the new beta, but I can't extract or test that file without getting an error that it's unsupported and the process cancelling.

Can you shed some light on this?

0

Share this post


Link to post
Share on other sites

This is a tutorial how to make a switchless for any program using 7-Zip. The new 7-zip uses /S.

0

Share this post


Link to post
Share on other sites

For, not of. Got it. :) Anyway, I've got this thread bookmarked. :D

0

Share this post


Link to post
Share on other sites

Nice and clear guide!

I think that admin schould bookmark it in point of interests, because similar guide was published on this site long time ago, but was lost.

@Astalavista

And keytotime right about the StartXP - it always works, plus free. Btw, why do you use it if your applications better when repacked switcheless acrobat7?

regards, moo

0

Share this post


Link to post
Share on other sites

moo u must be mistaken i dont use it. u can't check my latest Adobe Acrobat build.

0

Share this post


Link to post
Share on other sites

@astalavista

boom...

sorry man and thanks for good job too on another posts.

moo

0

Share this post


Link to post
Share on other sites

I got a problem, nice guide though :)

the problem is this

Im converting all my WinRAR SFX installers to 7-Zip SFX installer, and im using 7-Zip on some Install Shield installers.

One of them is Anti virus Kit 2004 from GData, and I had it installing fine before with the switches i use in the config.txt which is saved with UTF-8 encoding like stated in the guide.

;!@Install@!UTF-8!
RunProgram="Setup.exe -s -f2\"%systemdrive%\avk.log\""
;!@InstallEnd@!

The setup.iss is in the archive aswell, and being as its ran from %CDROM% variable, it needs to have the avk.log assigned to it too according to the unattended guide made by Allanol.

Any ideas?

0

Share this post


Link to post
Share on other sites

Is it possible to run multiple commands in config.txt?

For example, applying reg tweak after running setup.exe

0

Share this post


Link to post
Share on other sites
Is it possible to run multiple commands in config.txt?

For example, applying reg tweak after running setup.exe

Well for the problem i posted above, I have sorted it using a .cmd file.

Seems to you cant run a installer which needs. iss from the config.txt.

So to do what you want make a .cmd and include it in the Archive.7z

setup.exe /switch /anotherswitch
/wait REGEDIT settings.reg

Then call the .cmd file from config.txt

0

Share this post


Link to post
Share on other sites
I got a problem, nice guide though :)

the problem is this

Im converting all my WinRAR SFX installers to 7-Zip SFX installer, and im using 7-Zip on some Install Shield installers.

One of them is Anti virus Kit 2004 from GData, and I had it installing fine before with the switches i use in the config.txt which is saved with UTF-8 encoding like stated in the guide.

;!@Install@!UTF-8!
RunProgram="Setup.exe -s -f2\"%systemdrive%\avk.log\""
;!@InstallEnd@!

The setup.iss is in the archive aswell, and being as its ran from %CDROM% variable, it needs to have the avk.log assigned to it too according to the unattended guide made by Allanol.

Any ideas?

Try ising the /SMS switch with the setup. Note this switch should be upper case as shown. RunProgram="Setup.exe -s -SMS -f2\"%systemdrive%\avk.log\""

Install Shield Command Line Parameters

http://zacky.cleverits.com/IT/is_cmdline.htm

MSI Online Commandline Generator ("CleverMSI-OCG")

http://zacky.cleverits.com/IT/MSI/msi_cmdline.htm

0

Share this post


Link to post
Share on other sites

Thats for network usage though, anyway i sorted it running it from a batch which aint a biggie.

0

Share this post


Link to post
Share on other sites

With 7Zip the files are extracted to the temp folder, the setup.exe is run and then the files are removed from the temp folder. The SMS option prevents setup.exe from returning before all child process have completed. This way your files aren't deleted until your install finishes.

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.