[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