Difference between revisions of "Irfanview"

From WPKG | Open Source Software Deployment and Distribution
Jump to: navigation, search
m (Added remove operation to IrfanView language package.)
m (Added a fake remove operation for Irfanview plugins package)
Line 74: Line 74:
 
         <install cmd='%SOFTWARE%\irfanview\irfanview_plugins_427_setup.exe /silent' />
 
         <install cmd='%SOFTWARE%\irfanview\irfanview_plugins_427_setup.exe /silent' />
 
         <upgrade cmd='%SOFTWARE%\irfanview\irfanview_plugins_427_setup.exe /silent' />
 
         <upgrade cmd='%SOFTWARE%\irfanview\irfanview_plugins_427_setup.exe /silent' />
 +
        <!-- This doesn't remove all plugins. Just ensure a false check for this package.
 +
            Hence, WPKG could mark irfanview_plugins package as removed and this allows
 +
            removing IrfanView main package avoiding this depending package to fail. -->
 +
        <remove cmd='%COMSPEC% /c del "%ProgramFiles%\Irfanview\Plugins\IV_player.exe"' />
 
</package>
 
</package>
 
</source>
 
</source>
 +
 +
This package has a fake remove operation just to allow removing the main Irfanview package.
  
 
== Languages ==
 
== Languages ==

Revision as of 18:26, 21 June 2010

This is a silent installer for Irfanview, a freeware (for non-commercial use) image viewer and minor image editor.


Irfanview Versions 3.99 - 4.27

<?xml version="1.0" encoding="UTF-8"?>
<packages>
 
<package
    id="irfanview"
    name="IrfanView"
    revision="4270"
    reboot="false"
    priority="0">
 
	<check type="file" condition="versionequalto" path="%PROGRAMFILES%\IrfanView\i_view32.exe" value="4.2.7.0" />
	<check type="file" condition="sizeequals" path="%PROGRAMFILES%\IrfanView\i_view32.exe" value="494080" />
 
	<install cmd='%SOFTWARE%\irfanview\iview427_setup.exe /silent /folder="%ProgramFiles%\Irfanview" /desktop=1 /group=1 /allusers=1 /assoc=1' />
 
	<!-- bring in our INI file which forces Irfanview to use per-user configurations in %APPDATA% -->
	<install cmd='%COMSPEC% /c copy /y "%SOFTWARE%\irfanview\i_view32.ini" "%ProgramFiles%\Irfanview\"' />
 
	<upgrade cmd='"%PROGRAMFILES%\IrfanView\iv_uninstall.exe" /silent' />
	<upgrade cmd='%SOFTWARE%\irfanview\iview427_setup.exe /silent /folder="%ProgramFiles%\Irfanview" /desktop=1 /group=1 /allusers=1 /assoc=1' />
 
	<remove cmd='"%PROGRAMFILES%\IrfanView\iv_uninstall.exe" /silent' />
</package>
 
</packages>

The /silent option for iv_uninstall.exe doesn't work. The remove process stops trying to display a window to confirm uninstall.

Installation options

See http://www.irfanview.com/faq.htm for a full list of the installer options.

i_view32.exe File Sizes

Irfanview 3.99 didn't bump the version number in the executable, so for some versions of Irvanview (possibly not the most recent versions), when checking for which version is installed you should check the size of i_view32.exe too. The file sizes for some versions are:

  • 4.25: 481792
  • 4.27: 494080
  • 3.99: 444928

Configuration

By default Irfanview uses a user configuration file (i_view32.ini) in the Irfanview program directory. This is not appropriate in a multi-user environment. Irfanview can instead use an alternative configuration file if you instruct it to do so. Tell Irfanview to use a configuration file in a user's %APPDATA% directory and each user will be able to have their own configuration. Do this by replacing the default i_view32.ini with the following one.

Save this as i_view32.ini and place it your %PACKAGES%\IrfanView\ directory beside the installer.

[Others]
INI_Folder="%APPDATA%\Irfanview"

This file is also useful to define the default configuration that we wish for the Irfanview installation.

For example, to select the Spanish language and the Grosberg_24 toolbar style you need to add to i_view32.ini:

[Language]
DLL=SPANISH.DLL
Lang=Español
[Toolbar]
Skin=Grosberg_24.png
Size=24

Plugins

<package id="irfanview_plugins" name="Irfanview Plugins" revision="1" reboot="false" priority="1">
        <check type="file" condition="exists" path="%PROGRAMFILES%\IrfanView\plugins\IV_player.exe" />
        <depends package-id="irfanview" />
        <install cmd='%SOFTWARE%\irfanview\irfanview_plugins_427_setup.exe /silent' />
        <upgrade cmd='%SOFTWARE%\irfanview\irfanview_plugins_427_setup.exe /silent' />
        <!-- This doesn't remove all plugins. Just ensure a false check for this package.
             Hence, WPKG could mark irfanview_plugins package as removed and this allows
             removing IrfanView main package avoiding this depending package to fail. -->
        <remove cmd='%COMSPEC% /c del "%ProgramFiles%\Irfanview\Plugins\IV_player.exe"' />
</package>

This package has a fake remove operation just to allow removing the main Irfanview package.

Languages

To install the Irfanview language packs is better to copy the required files from the zip. The language installers doesn't has the /silent option.

This is an example package definition to install the Spanish Language package.

<package id="irfanview_es" name="Irfanview Spanish Language" revision="4270" reboot="false" priority="1">
        <check type="file" condition="exists" path="%PROGRAMFILES%\IrfanView\Languages\Spanish.dll" />
        <depends package-id="irfanview" />
        <!-- Copy Spanish.dll and IP_Spanish.lng with one command -->
        <install cmd='%COMSPEC% /c copy /y "%SOFTWARE%\irfanview\*Spanish.*" "%ProgramFiles%\Irfanview\Languages\"' />
        <upgrade cmd='%COMSPEC% /c copy /y "%SOFTWARE%\irfanview\*Spanish.*" "%ProgramFiles%\Irfanview\Languages\"' />
        <remove cmd='%COMSPEC% /c del "%ProgramFiles%\Irfanview\Languages\*Spanish.*"' />
</package>