[wpkg-users] Remove Packages with forced reboot in uninstaller
    Will Aoki 
    waoki at umnh.utah.edu
       
    Tue Jul 21 17:20:08 CEST 2015
    
    
  
On Tue, Jul 21, 2015 at 12:00:51PM +0200, Nils Thiele wrote:
> This results in a loop when running wpkg again.
> Because its still in local package DB but checks failed it will
> reinstall, after that it tries to remove the package again and this
> goes on forever.
Perhaps you could touch a file during the uninstall process and write
checks so that the file satisfies the package's check conditions and
prevents the install from running if for some reason it doesn't?
  <check type="logical" condition="or" />
    <check type="file" condition="exists" path="%PROGRAMDATA%\wpkg\uninstall-netware-pls" />
    <check type="uninstall" condition="exists" path="Novell Client.*" />
  </check>
  <install cmd='%SOFTWARE%\NetWare\clntwhatever.exe'>
    <!-- avoid installing again if main checks were somehow not satisfied -->
    <check type="logical" condition="not">
      <check type="file" condition="exists" path="%PROGRAMDATA%\wpkg\uninstall-netware-pls" />
    </check>
  </install>
  <remove cmd='%COMSPEC% /c copy nul "%PROGRAMDATA%\wpkg\uninstall-netware-pls"' >
    <exit code="any" />
  </remove>
  <!-- Clean up the file if we're not going to run NWUninstallClient -->
  <remove cmd='%COMSPEC% /c del "%PROGRAMDATA%\wpkg\uninstall-netware-pls" />
    <check type="logical" condition="not">
      <check type="uninstall" condition="exists" path="Novell Client.*" />
    </check>
    <exit code="any" />
  </remove>
  <!-- ... otherwise, kill it -->
  <remove cmd='rundll32.exe "%PROGRAMFILES%\Novell\Client\ncsetup.dll" NWUninstallClient /s">
    <check type="uninstall" condition="exists" path="Novell Client.*" />
  </remove>
    
    
More information about the wpkg-users
mailing list