uninstall and uninstallstring

Questions about WAPT Packaging / Requests and help regarding Wapt packages.
Forum Rules
Community Forum Rules
* English support on www.reddit.com/r/wapt
* French community support is available on this forum
* Please prefix the topic title with [RESOLVED] if it is resolved.
* Please do not edit a topic that is tagged [RESOLVED]. Open a new topic referencing the old one.
* Specify the installed WAPT version, full version, and build number (2.2.1.11957 / 2.2.2.12337 / etc.) as well as the Enterprise/Discovery edition.
* Versions 1.8.2 and earlier are no longer supported. The only questions accepted regarding version 1.8.2 are related to upgrading to a supported version (2.1, 2.2, etc.).
* Specify the server OS (Linux/Windows) and version (Debian Buster/Bullseye - CentOS 7 - Windows Server 2012/2016/2019).
* Specify the OS of the administration/package creation machine and the machine with the problematic agent, if applicable (Windows 7/10/11/Debian 11/etc.).
* Avoid asking multiple questions when opening a topic, otherwise it may be ignored. If there are multiple topics, open separate topics, preferably one after the other and not all at the same time (i.e., do not spam the forum).
* Include code snippets, screenshots, and other images directly in the post. Links to Pastebin, Bitly, and other third-party sites will be systematically removed.
* As with any community forum, support is provided voluntarily by members. If you require commercial support, you can contact Tranquil IT's sales department at 02.40.97.57.55
Locked
Stenon
Messages: 36
Registration: June 2, 2016 - 8:04 AM

September 28, 2016 - 1:11 PM

Hi,

here's my setup.py code.

It's a batch file for installation and it works fine. I'm also trying to run an uninstallation with a batch file, and it's crashing...

which should I use, uninstall or uninstallstring? Thanks for your help!

from setuphelpers import *
uninstallkey = []
uninstallstring = [u'"C:\\FirewallRemoveEsetRule.bat"']

def install():
run(r'"FirewallAddEsetRule.bat"')

def uninstall():
run(u'"FirewallRemoveEsetRule.bat"')

and errors:
2016-09-28 15:09:00,963 WARNING Warning: CalledProcessError: Command '(u'"C:\\FirewallRemoveEsetRule.bat"',)' returned non-zero exit status 1
2016-09-28 15:09:00,986 CRITICAL Error running uninstall script: Command '(u'"FirewallRemoveEsetRule.bat"',)' returned non-zero exit status 1
=== Removed packages ===
allowesetinstall
=== Error removing packages ===
allowesetinstall
Nathanael
Messages: 7
Registration: August 18, 2016 - 5:16 PM

April 10, 2017 - 4:32 PM

Hello,
have you found a solution to this question since then?
Nathanael
User avatar
agauvrit
WAPT Expert
Messages: 238
Registration: Nov 17, 2016 - 10:25
Location: Nantes
Contact :

April 10, 2017 - 4:58 PM

Good morning,
Stenon wrote:

Code: Select all

from setuphelpers import *
uninstallkey = []
uninstallstring = [u'"C:\\FirewallRemoveEsetRule.bat"']

def install():
    run(r'"FirewallAddEsetRule.bat"')

def uninstall():
    run(u'"FirewallRemoveEsetRule.bat"')

During installation, your *.bat script runs correctly, no problem, since it's included in your package (I assume?)

The uninstall, however, fails because at no point in the install function do you copy and paste this script to the root of the C:\ drive

If you want this to work, use a file copy with the function filecopytowhich will allow you to call your script FirewallRemoveEsetRule.bat during uninstallation.

The source code would then become:

Code: Select all

from setuphelpers import *
uninstallkey = []

def install():
    run(r'"FirewallAddEsetRule.bat"')
    filecopyto("FirewallRemoveEsetRule.bat","C:\\")

def uninstall():
    run(u'"C:\\FirewallRemoveEsetRule.bat"')
Sincerely,

Alexander
Stenon
Messages: 36
Registration: June 2, 2016 - 8:04 AM

April 22, 2017 - 12:55

Thanks,

in the meantime I had created a second wapt package that called remove.bat.

But a big THANK YOU for your explanation and your clear answer!

PS: The livecast video was very, very good; we seem to know you better now.
Locked