> --- Comment #1 from Rainer Meier <r.me...@wpkg.org>
> 2009-09-21 19:34:55 ---
> Hi Stefan
>
> Sounds like a reasonable request. At the beginning I thought
> "yes, of course,
> let's quickly do it". Unfortunately it became a bit more
> complex. Especially
> this requires on every revision number query to set the full package
> environment and restore it after evaluating it.
> To prevent this for packages where it is not needed (I think
> using environment
> variables in revision strings will not become very popular)
> I've added a quick
> check and variables will be expanded only if at least two "%"
> characters are
> found.
>

Hi Rainer,
        as an example, see Notepad++, which includes the version number in the 
installer file name.
This leads to changing the version number in up to four places, depending on 
your package definition.

I do not only check for the uninstall entry, but for the correct main 
executable version too.

I do support x86 and AMD64 platforms, so I need to change this in four places, 
twice for the file check and once each for the install and upgrade command.

So I can now use the following package definition:

>>
        <package
                id="NotepadPlusPlus"
                name="Notepad++"
        revision="5.5.0.0"
                reboot="false"
        priority="30">

                <variable name="JH_NPP_VER" value="5.5" />

                <check type="uninstall" condition="exists" path="Notepad++" />
                <check type='logical' condition='or'>
            <check type="file" condition="versiongreaterorequal" 
path="%ProgramFiles%\Notepad++\notepad++.exe" value="%JH_NPP_VER%" />
            <check type="file" condition="versiongreaterorequal" 
path="%ProgramFiles(x86)%\Notepad++\notepad++.exe" value="%JH_NPP_VER%" />
                </check>

                <!-- remove plug-in's to prevent installer hanging -->
                <install cmd='%ComSpec% /c if exist 
"%ProgramFiles%\Notepad++\plugins" del /f /q 
"%ProgramFiles%\Notepad++\plugins\*.dll"' />
                <install cmd='%ComSpec% /c if exist 
"%ProgramFiles(x86)%\Notepad++\plugins" del /f /q 
"%ProgramFiles(x86)%\Notepad++\plugins\*.dll"' />
        <install 
cmd="%SOFTWARE%\NT-Install\Notepad++\npp.%JH_NPP_VER%.Installer.exe /S" />

                <!-- remove plug-in's to prevent installer hanging -->
                <upgrade cmd='%ComSpec% /c if exist 
"%ProgramFiles%\Notepad++\plugins" del /f /q 
"%ProgramFiles%\Notepad++\plugins\*.dll"' />
                <upgrade cmd='%ComSpec% /c if exist 
"%ProgramFiles(x86)%\Notepad++\plugins" del /f /q 
"%ProgramFiles(x86)%\Notepad++\plugins\*.dll"' />
        <upgrade 
cmd="%SOFTWARE%\NT-Install\Notepad++\npp.%JH_NPP_VER%.Installer.exe /S" />

                <!-- Windows 32-bit -->
                <remove cmd='%ComSpec% /c if exist 
"%ProgramFiles%\Notepad++\plugins" del /f /q 
"%ProgramFiles%\Notepad++\plugins\*.dll"' />
                <remove cmd='%ComSpec% /c if exist 
"%ProgramFiles%\Notepad++\uninstall.exe" 
"%ProgramFiles%\Notepad++\uninstall.exe" /S' />
                <!-- Windows 64-bit -->
                <remove cmd='%ComSpec% /c if exist 
"%ProgramFiles(x86)%\Notepad++\plugins" del /f /q 
"%ProgramFiles(x86)%\Notepad++\plugins\*.dll"' />
                <remove cmd='%ComSpec% /c if exist 
"%ProgramFiles(x86)%\Notepad++\uninstall.exe" 
"%ProgramFiles(x86)%\Notepad++\uninstall.exe" /S' />
        </package><<

Thanks for the additional check, if expansion is needed,
Stefan
-------------------------------------------------------------------------
wpkg-users mailing list archives >> http://lists.wpkg.org/pipermail/wpkg-users/
_______________________________________________
wpkg-users mailing list
wpkg-users@lists.wpkg.org
http://lists.wpkg.org/mailman/listinfo/wpkg-users

Reply via email to