Jump to content

How to make a 7-Zip Switchless Installer


keytotime

Recommended Posts

  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
Link to comment
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.

Link to comment
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.

Link to comment
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.

Link to comment
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

Link to comment
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?

Link to comment
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

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...