[izpack-users] Linux Uninstaller

Miraodb miraodb at hotmail.com
Thu Jul 6 09:50:03 CEST 2006


Hi,

For one thing, you can easely debug install and uninstall with eclipse.
We have it all explained in the docu In the chapter "getting started".

Hope this helps you to debug more now and in the future.

Cheers,
Fabrice
----- Original Message ----- 
From: "Bir, Steve" <bir at enterasys.com>
To: <izpack-users at berlios.de>
Sent: Wednesday, July 05, 2006 10:21 PM
Subject: RE: [izpack-users] Linux Uninstaller


I am still having trouble. I see now that part of what confused me is
that the uninstall is spawning the gui in a separate process.   This
appears to prevent my debug statements from displaying to stdout.
Unfortunately, System.out.println debug statements don't seem to be
getting redirected to the log file, so tracing the program flow is more
difficult.  One thing that might help is a suggestion on how to add
debugging information so that it is logged correctly.

 

Below is a trace I am getting from the uninstall code. This works
perfectly on windows, but seems to fail on Linux.  Also, the uninstall
listener appears to run correctly when re-installing over an existing
installation on a Linux system but not when the uninstall GUI is used.
For example, the install log shows that code being executed. However,
when the uninstaller GUI is launched, the uninstall button just seems
dead like it is not processing the button pressed event.  Any insight
that you can provide is greatly appreciated.

 

Thank you for responding,

Steve

 

Uninstall log:

 

2006-07-05T15:09:09.976 Phase 1: JarFile:
/export/local/NetSight/Uninstaller/uninstaller.jar

2006-07-05T15:09:10.041 Phase 1: Extracted 75 files into
/tmp/izpack57889.d

2006-07-05T15:09:10.044 Phase 1: Spawning phase 2: 

            /usr/java/jdk1.5.0_04/jre/bin/java

            -classpath

            /tmp/izpack57889.d

            -Dself.mod.base=/tmp/izpack57889

 
-Dself.mod.jar=/export/local/NetSight/Uninstaller/uninstaller.jar

            -Dself.mod.class=com.izforge.izpack.uninstaller.Uninstaller

            -Dself.mod.method=uninstall

            -Dself.mod.phase=2

            com.izforge.izpack.uninstaller.SelfModifier

2006-07-05T15:09:10.074 Phase 1: Exit

2006-07-05T15:09:11.324 Phase 2: Spawning phase 3: 

            /usr/java/jdk1.5.0_04/jre/bin/java

            -classpath

            /tmp/izpack57889.d

            -Dself.mod.base=/tmp/izpack57889

 
-Dself.mod.jar=/export/local/NetSight/Uninstaller/uninstaller.jar

            -Dself.mod.class=com.izforge.izpack.uninstaller.Uninstaller

            -Dself.mod.method=uninstall

            -Dself.mod.phase=3

            com.izforge.izpack.uninstaller.SelfModifier

2006-07-05T15:46:47.108 Phase 2: deleteing sandbox

2006-07-05T15:46:47.117 Phase 2: Phase 3 return value = 0

2006-07-05T15:09:11.475 Phase 3: Invoking method:
com.izforge.izpack.uninstaller.Uninstaller.uninstall(String[] args)

2006-07-05T15:09:13.458 Phase 3: Method returned, waiting for other
threads

Exception in thread "IzPack - Destroyer" java.lang.NoClassDefFoundError:
com/izforge/izpack/event/UninstallerListener

            at java.lang.ClassLoader.defineClass1(Native Method)

            at java.lang.ClassLoader.defineClass(ClassLoader.java:620)

            at
java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)

            at
java.net.URLClassLoader.defineClass(URLClassLoader.java:260)

            at
java.net.URLClassLoader.access$100(URLClassLoader.java:56)

            at java.net.URLClassLoader$1.run(URLClassLoader.java:195)

            at java.security.AccessController.doPrivileged(Native
Method)

            at
java.net.URLClassLoader.findClass(URLClassLoader.java:188)

            at java.lang.ClassLoader.loadClass(ClassLoader.java:306)

            at
sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268)

            at java.lang.ClassLoader.loadClass(ClassLoader.java:251)

            at
java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)

            at java.lang.Class.forName0(Native Method)

            at java.lang.Class.forName(Class.java:164)

            at
com.izforge.izpack.uninstaller.Destroyer.getListenerLists(Destroyer.java
:231)

            at
com.izforge.izpack.uninstaller.Destroyer.run(Destroyer.java:77)

 

 

 

Install.xml below:

<?xml version="1.0" encoding="iso-8859-1" standalone="yes" ?>

<!-- 

    Nextgen server install test

    To compile it :

    - go in the bin directory where you installed IzPack

    - call "compile ../sample/install.xml -b ../sample"

-->

<installation version="1.0">

    <!-- 

        The info section.

        The meaning of the tags should be natural ...

    -->

 

    <info>

        <appname>NetSight</appname>

        <appversion>3.0 beta 1</appversion>

        <authors>

            <author name="Enterasys Networks"
email="support at enterasys.com"/>

        </authors>

        <url>http://www.enterasys.com</url>

    </info>

     <guiprefs width="616" height="434" resizable="yes"/>

    <!-- 

        The locale section.

       Removed as we don't have different versions for different
languages

    -->

    <locale>

        <langpack iso3="eng"/>

    </locale>

    

    <!-- 

        The resources section.

        The ids must be these ones if you want to use the LicencePanel
and/or the InfoPanel.

    -->

    <resources>

        <res id="Installer.image" src="./Console/console2.0.jpg" />

        <res id="LicencePanel.licence"
src="./Console/client/license.txt"/>

        <res id="InfoPanel.info" src="./Console/client/version.txt"/>

        <res id="ProcessPanel.Spec.xml"
src="./Console/ProcessPanel.Spec.xml"/>

        <res id="shortcutSpec.xml" src="./Console/shortcutSpec.xml"/>

      <!--  <res id="RegistrySpec.xml"
src="./Console/RegistrySpec.xml"/>-->

    </resources>

    

    <!-- The listeners section for CustomActions -->

    <listeners>

        <listener installer="SummaryLoggerInstallerListener"/>

        <listener installer="ConsoleInstallListener"
uninstaller="ConsoleUninstallerListener"/>

        <listener installer="RegistryInstallerListener"
uninstaller="RegistryUninstallerListener">

            <os family="windows"/>

        </listener>

    </listeners>

    

    <!-- 

        The panels section.

        We indicate here which panels we want to use. The order will be
respected.

    -->

    <panels>

        <panel classname="ConsoleHelloPanel"/>

        <panel classname="LicencePanel"/>

        <panel classname="LicenseCheckPanel"/>

        <panel classname="TargetPanel"/> 

        <panel classname="PacksPanel"/>

        <panel classname="ServicesPanel"/>

        <panel classname="InstallPanel"/>

        <panel classname="ConsoleProcessPanel"/>

        <panel classname="ShortcutPanel"/>

        <panel classname="SimpleFinishPanel"/>

    </panels>

    <!-- Variables that can be used by the installer. -->

                <variables>

                     <variable name="DATE_BASED_VERSION"
value="2006.0307" />

                     <variable name="LICENSE_PRODUCT_NAME"
value="Console" />

                     <variable name="PREVIOUS_INSTALL_DIR" value="NONE"
/>

                     <variable name="COMMON_DIR" value="$USER_HOME" />

                     <variable name="MACROVISION_LICENSE_KEY"
value="NONE" />

                     <variable name="LICENSE_TYPE" value="Server" />

                     <variable name="TFTPD" value="ENABLED" />

                     <variable name="BOOTP" value="ENABLED" />

                     <variable name="SNMPTRAP" value="ENABLED" />

                     <variable name="SYSLOG" value="ENABLED" />

                </variables>

    

    <!-- 

        The packs section.

        We specify here our packs.

    -->

    <packs>

        <pack name="Client" required="yes">

            <description>The base files for the NetSight
Client</description>

            <!--<file src="Console/client"
targetdir="$INSTALL_PATH/clients/Console/"/> -->

            <fileset dir="Console/client"
targetdir="$INSTALL_PATH/clients/Console">

            <include name="**/*"/>

            </fileset>

            

            <file src="services" targetdir="$INSTALL_PATH"/> 

            

            <file src="Console/client/Third_party_licenses/"
targetdir="$INSTALL_PATH/license"/>

            <file src="Console/client/license.txt"
targetdir="$INSTALL_PATH/license"/>

            <file src="Console/client/eval_license.txt"
targetdir="$INSTALL_PATH/license"/>

            <file src="Console/client/license.pdf"
targetdir="$INSTALL_PATH/license"/>

            <file src="Console/client/eval_license.pdf"
targetdir="$INSTALL_PATH/license"/>

            <!-- this needs to be made os targeted -->

            <file src="../.netsight"
targetdir="${ENV[ALLUSERSPROFILE]}/Application Data/Enterasys Networks">

                <os family="windows" />

            </file>

            

            <file src="../.netsight"
targetdir="/var/Enterasys_Networks">

                <os family="unix" />

            </file>

            

            <parsable targetfile="${ENV[ALLUSERSPROFILE]}/Application
Data/Enterasys Networks/.netsight"> 

                    <os family="windows" />

            </parsable>

            

            <parsable
targetfile="$INSTALL_PATH/services/install/nsm.cmd">

                    <os family="windows" />

            </parsable>

 

            <parsable
targetfile="$INSTALL_PATH/services/install/DbService.cmd">

                    <os family="windows" />

            </parsable>

            

            <parsable targetfile="$INSTALL_PATH/services/.desktray">

                    <os family="windows" />

            </parsable>

            

            <parsable
targetfile="$INSTALL_PATH/clients/Console/.console">

                    <os family="windows" />

            </parsable>            

            

            <parsable
targetfile="$INSTALL_PATH/services/snmptrapd.properties" type="shell"/>

            

            <parsable
targetfile="$INSTALL_PATH/services/tftpd.properties" type="shell"/>

 

            <parsable targetfile="/var/Enterasys_Networks/.netsight"> 

                    <os family="unix" />

            </parsable>

            

            <parsable
targetfile="$INSTALL_PATH/services/install/CfgServices.sh" type="shell">

                    <os family="unix" />

            </parsable>

            

            <parsable
targetfile="$INSTALL_PATH/services/install/rmConsole.sh" type="shell">

                    <os family="unix" />

            </parsable>            

            

            <parsable
targetfile="$INSTALL_PATH/services/install/databaseConfig.sh">

                    <os family="unix" />       

            </parsable> 

            

            <parsable
targetfile="$INSTALL_PATH/services/install/databaseConfig.sh"
type="shell">

                    <os family="unix" />

            </parsable>

 

            <executable
targetfile="$INSTALL_PATH/services/install/rmConsole.sh" stage="never">

                    <os family="unix" />

            </executable>

 

            <executable
targetfile="$INSTALL_PATH/services/install/CfgServices.sh"
stage="never">

                    <os family="unix" />

            </executable>

            

            <executable
targetfile="$INSTALL_PATH/services/install/databaseConfig.sh"
stage="never">

                    <os family="unix" />

            </executable>                  

            

            <parsable
targetfile="$INSTALL_PATH/services/install/run_conf.txt" type="shell">

                    <os family="unix" />

            </parsable>

        </pack>

 

        <pack name="Server" required="no">

            <description>The base files for the NetSight
Server</description>           

            <file src="Console/server/jboss" targetdir="$INSTALL_PATH"/>


            <file src="Console/server/scripts"
targetdir="$INSTALL_PATH/appdata/console"/> 

            <file src="Console/server/syslogs"
targetdir="$INSTALL_PATH/appdata/logs"/> 

            <file src="Console/server/traps"
targetdir="$INSTALL_PATH/appdata/logs"/> 

            <file src="Console/client/webupdate"
targetdir="$INSTALL_PATH"/> 

            <file src="Console/server/mysql" targetdir="$INSTALL_PATH"/>


            <parsable targetfile="$INSTALL_PATH/mysql/my.ini"/> 

        </pack>

    </packs>

    

    <!-- The native libraries to add -->

    <native type="izpack" name="ShellLink.dll"/>

    <native type="3rdparty" name="COIOSHelper.dll" stage="both">

        <os family="windows"/>

    </native>

 

</installation>

 

 

________________________________

From: izpack-users-admin at berlios.de
[mailto:izpack-users-admin at berlios.de] On Behalf Of Bartz, Klaus
Sent: Wednesday, July 05, 2006 9:29 AM
To: izpack-users at berlios.de
Subject: RE: [izpack-users] Linux Uninstaller

 

Hi Steve,

on my box it works.

Often wrong symbols are used for OS specification on Linux.pwd

 

If problems persist, please send your installation description file
(often install.xml):

 

Cheers

 

Klaus

 

-----Original Message-----
From: izpack-users-admin at berlios.de
[mailto:izpack-users-admin at berlios.de]On Behalf Of Bir, Steve
Sent: Wednesday, July 05, 2006 2:25 PM
To: izpack-users at berlios.de
Subject: RE: [izpack-users] Linux Uninstaller

Has anyone used the custom uninstall action on Linux? It seems
like the addition of this is what's causing it to fail silently?



Thank you,

Steve




________________________________


From: izpack-users-admin at berlios.de
[mailto:izpack-users-admin at berlios.de] On Behalf Of Bir, Steve
Sent: Friday, June 30, 2006 2:52 PM
To: izpack-users at berlios.de
Subject: [izpack-users] Linux Uninstaller



Hello, I am having trouble getting the Linux uninstaller to do
anything when I push the uninstall button. Windows works fine but I get
no error or feedback. I was wondering if this was a known problem or if
I am just making a newbie mistake. I do have a custom action included
that works well on windows but as far as I can tell that isn't coming
into play at all for Linux.



Thank you,

Steve Bir





More information about the izpack-users mailing list