M2Team / NanaZip

The 7-Zip derivative intended for the modern Windows experience
https://sourceforge.net/projects/nanazip/
Other
8.38k stars 216 forks source link

Make EXE Installer (setup) #169

Open xmha97 opened 2 years ago

xmha97 commented 2 years ago

Hi, please Make a installer (setup) I want to install it on the Windows server 2022.

MouriNaruto commented 2 years ago

https://github.com/M2Team/NanaZip#msix-package

In the current stage, you may install NanaZip with command line.

There are some issues which need to solve before NanaZip supports unpackaged mode and provide standalone installer.

Kenji Mouri

xmha97 commented 2 years ago

I prefer the installer because it makes updating easier. Currently, I am using your app as a portable app. image

dartraiden commented 2 years ago

You can use https://github.com/Wilenty/7zTC-7-ZIP-NanaZip-Theme-Changer It allows you to install NanaZip into Program Files like a regular application

mstsc_zBPCwuTEUF
emako commented 2 years ago

I wrote a packaging demo to convert .msix into an EXE installation program using NSIS. @MouriNaruto

Refer to https://github.com/emako/msix-nsis

Shomnipotence commented 2 years ago

It will be packaged by appx or msix

MouriNaruto commented 2 years ago

https://github.com/M2Team/NanaZip/pull/209#issuecomment-1236202127

Kenji Mouri

AndromedaMelody commented 1 year ago

MSI installer

Originally posted by @higginsm99 2022-05-27T09:52:08Z Can the MSIX file be converted to an MSI as MSIX is only supported on Windows Server 2019 LTSC or later?

Originally posted by @driver1998 2022-06-01T07:14:04Z Compatibility with <RS5 would be broken later when XAML islands are used to modernize the UI.

modz2014 commented 1 year ago

I have created a simple Wix Installer for NanZip with be uploaded some time today or tomorrow

MouriNaruto commented 1 year ago

I have created a simple Wix Installer for NanZip with be uploaded some time today or tomorrow

NanaZip is not tested in the unpackaged environment. And I hope the installer will only become after some refactoring work (For example, after introducing the XAML based main UI) finished.

Kenji Mouri

modz2014 commented 1 year ago

well it works outside the msix

modz2014 commented 1 year ago

"Presented herewith is the example of the Wix installer, attributed to the user @MouriNaruto."


<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
    <Product Id="*" Name="NanaZip" Language="1033" Version="1.0.0.0" Manufacturer="NanaZip" UpgradeCode="750d784e-c6b9-4856-9ca8-4adc247decd3">
        <Package InstallScope="perMachine" Compressed="yes" />

        <MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] is already installed." />

        <MediaTemplate EmbedCab="yes" />

        <Feature Id="ProductFeature" Title="NanaZipInstall" Level="1">
            <ComponentRef Id="NanaZipFiles" />
        </Feature>

    </Product>

    <Fragment>
        <!-- Create the "NanaZip" folder during installation -->
        <Directory Id="TARGETDIR" Name="SourceDir">
            <Directory Id="ProgramFilesFolder">
                <Directory Id="INSTALLFOLDER" Name="NanaZip" />
            </Directory>
        </Directory>
    </Fragment>

    <Fragment>
        <ComponentGroup Id="ProductComponents" Directory="INSTALLFOLDER">
            <Component Id="NanaZipFiles" Guid="6C46A36D-81D6-4820-8EEF-6CA9995A233E">
                <File Id="NanaZipCExe" Source="..\Output\Binaries\Debug\NanaZipPackage\x64\NanaZipC.exe" KeyPath="yes" />
                <File Id="NanaZipExe" Source="..\Output\Binaries\Debug\NanaZipPackage\x64\NanaZip.exe" KeyPath="no" />
                <File Id="NanaZipConsoleSfx" Source="..\Output\Binaries\Debug\NanaZipPackage\x64\NanaZipConsole.sfx" KeyPath="no" />
                <File Id="NanaZipCoreDll" Source="..\Output\Binaries\Debug\NanaZipPackage\x64\NanaZipCore.dll" KeyPath="no" />
                <File Id="NanaZipWindowsSfx" Source="..\Output\Binaries\Debug\NanaZipPackage\x64\NanaZipWindows.sfx" KeyPath="no" />
                <File Id="NanaZipGExe" Source="..\Output\Binaries\Debug\NanaZipPackage\x64\NanaZipG.exe" KeyPath="no" />
                <File Id="MileXamleStyles" Source="..\Output\Binaries\Debug\NanaZipPackage\x64\Mile.Xaml.Styles.SunValley.xbf" KeyPath="no" />
                <File Id="NanaZipShellExtensionDll" Source="..\Output\Binaries\Debug\NanaZipPackage\x64\NanaZipShellExtension.dll" KeyPath="no" />
            </Component>
            <!-- TODO: You can add more components here if needed for other resources. -->
        </ComponentGroup>
    </Fragment>
    <!-- Define the uninstallation behavior -->
    <Fragment>
        <ComponentGroup Id="UninstallComponents" Directory="INSTALLFOLDER">
            <ComponentRef Id="NanaZipFiles" />
        </ComponentGroup>
    </Fragment>

    <Fragment>
        <UI>
            <UIRef Id="WixUI_InstallDir" />
        </UI>
        <Property Id="WIXUI_EXITDIALOGOPTIONALTEXT" Value="NanaZip has been successfully removed from your computer." />
        <!-- Define the custom action to run Uninstall.exe -->
        <CustomAction Id="RunUninstallExe" Directory="INSTALLFOLDER" Execute="deferred" Impersonate="no" ExeCommand="Uninstall.exe" Return="asyncNoWait" />
        <InstallExecuteSequence>
            <!-- Run the custom action after the files are removed -->
            <Custom Action="RunUninstallExe" After="RemoveFiles">REMOVE="ALL"</Custom>
        </InstallExecuteSequence>
    </Fragment>
</Wix>