Uninstall Survey for Inno Setup
With Uninstall Survey (IssSurvey.dll extension) for Inno Setup you can get users feedback / comments / uninstall reasons by presenting a quick survey when your product is about to be uninstalled. It is true that most of the users will click right past it, but a small number will give you some feedback that maybe will help you improve the product.
You may not get a lot of quality information with uninstall survey, but you may well find one "gem" that will make a big difference in sales/quality - something your software maybe is missing, for example.
Features:
- easy to use
- small size (only 25KB)
- multi-language support (text infos and reasons template are fully customizable)
- user feedback it is sent by a POST to a php script on the application/publisher home page. A user name and password can also be sent for more security. (php scripts examples included)
- what to do with the user feedback is up to you. You can either make the php script to send the comments/feedback in your mail inbox or save it in a local file on your server or in a database.
- uses the standard Windows Internet API (wininet.dll) for internet connection meaning that there is no need for a proxy configuration as long as IE (Internet Explorer) is configured
- 100% free
How do I get it to work with Inno?
1. Download Uninstall Survey for Inno Setup (IssSurvey.dll and Inno script demo with server side scripts included in the download package)
2. Add the extension (IssSurvey.dll) in your [Files] section script along with the language file (IssSurvey.ini) if you need to customize default survey text:
-
[Files]
-
;------ Copy Survey Extension (IssSurvey.dll) in your app install folder to use it on unistall
-
Source: IssSurvey.dll; DestDir: {app}
-
;------ Copy Survey Extension Language File (IssSurvey.ini) in your app install folder
-
Source: IssSurvey.ini; DestDir: {app}
-
;------
3. Add below code in your [Code] section script (you ca modify it as you like):
-
[Code]
-
// IssSurvey function called on uninstall
-
function IssSurvey(Language: PChar; ReasonsList: PChar; Server: PChar; UserName: PChar; Password: PChar): Integer;
-
external 'IssSurvey@{app}\IssSurvey.dll stdcall uninstallonly';
-
-
//********************************************************************************************************************************************
-
// IssSurvey function returns: 0 if the user has submited the comments; 1 if cancel or close pressed; 2 if ignore/skip pressed; -1 if an error occured
-
//
-
// Language = IssSurvey language dialog. Set this value to empty '' and default english will be used
-
// ( see and include IssSurvey.ini if you need custom text or other language)
-
//
-
// ReasonsList = Uninstall reasons templates list. Separate multiple reasons with semicolon.
-
// Set this value to empty string '' to hide the template reasons combo box and show only the edit box
-
//
-
// Server = Full http path to a php script. The IssSurvey will POST at this adresss the selected uninstall reason and any user feedback/comments.
-
// Ex: 'http://raz-soft.com/IssSurvey/IssSurvey_mail.php'
-
// Informations posted when the user submits the survey from IssSurvey Extension:
-
// $name = the name you pass on the IssSurvey Extension function (for security purpose)
-
// $pass = the password you pass on the IssSurvey Extension function (for security purpose)
-
// $cntinfo = the user reason/comments/feedback. !!Warning: the sent text is base64 encoded.
-
// $IssSurvey = just for a check control. It will be set to 1 by IssSurvey Extension
-
//
-
// UserName = a user name to submit along with the reason/comments (for security purpose)
-
//
-
// Password = a password to submit along with the reason/comments (for security purpose)
-
//
-
//******************************************************************************************************************************************
-
-
-
function InitializeUninstall(): Boolean;
-
var
-
sReasons: String;
-
nCode: Integer; { 0 if the user has submited the comments; 1 if cancel or close pressed; 2 if ignore/skip pressed; -1 if an error occured }
-
-
begin
-
Result := false;
-
sReasons := 'I do not understand how to use this product;I like the product but do not want to pay for it;I was bothered by the sponsored links;Other reason (see below):';
-
nCode := IssSurvey('en',sReasons,'http://raz-soft.com/IssSurvey/IssSurvey_mail.php','demo','demo');
-
-
if (nCode=0) or (nCode=2) then begin { submited or ignored }
-
Result := true; { continue uninstall setup }
-
end;
-
-
// Unload the extension, otherwise it will not be deleted by the uninstaller
-
UnloadDLL(ExpandConstant('{app}\IssSurvey.dll'));
-
-
end;
4. Set sReasons from the above code with your own reasons list (separate multiple reasons with semicolon). If sReasons is empty the reasons template combo box will be removed.
5. Compile and test your setup. Before Inno will begin uninstall operation IssSurvey will popup with a window asking the user if he wants to give some feedback/comments. The user can choose to Ignore this and continue with the uninstall process or he can submit a quick comment/feedback before uninstalling.
Note: in the above demo the user feedback will be sent to my tested script: http://raz-soft.com/IssSurvey/IssSurvey_mail.php please replace this address with your own and also edit the script IssSurvey_mail.php so that it will send the feedback to your inbox and not mine.
If you're testing with my demo script/setup please include your e-mail address in the survey text box and I will reply you the feedback/survey text received from IssSurvey. You can also test the setup with the second php script (located here ) The info you enter in the survey will be saved in a local file on my server and it will also be listed if you access the script directly here .
Download
Who's Using IssSurvey?
- Portfolio Manager - Personal stock portfolio management system
- Handy CD Ripper
- ZGuideTV
( If you are you using Iss Survey and want to be listed here please let me know! )
related things:
Author: Raz | On May 28th, 2007 | [ En ], - Raz-Soft News | 14 Comments
Q: So what can I do next?
A: You can Buy me a Beer or Coffee. You can say Hi! or peek on the related stuff. You can follow any responses to this entry through the RSS 2.0 feed.
You can leave a response, or trackback from your own site.
Spammers: Beware of » my Dog! «
Donate
Download
Report





14 Responses to “Uninstall Survey for Inno Setup”
December 27th, 2007 at 5:19 am
Good extension! I'm surprised that why no comments left here?!
January 2nd, 2008 at 2:33 pm
Hi Edwin and thanks for your feedback, not sure why no comments left here, they are "talking" on forums/mails but no feedback here from users
January 3rd, 2008 at 5:12 pm
Raz, many thanks for this plugin.
It's helped me to save my time for other things.
January 4th, 2008 at 11:02 am
Hi Ivan,
Thanks for your feedback and for letting me know about the extension packer issues. Extension has been updated, it's not packed anymore. Re-download IssSurvey from the above link if necessary.
January 10th, 2008 at 7:01 pm
[...] Скачиваем архив с модулем Uninstall Survey для Inno Setup. [...]
January 21st, 2008 at 7:01 pm
Hi, Răzvan, thank you for the extension.
I have an issue with it on 64bit Vista -
in the select box it shows something like
The product has too many errorsbx1IGNL
instead of
The product has too many errors
or sometimes the uninstall crashes.
I suppose it is related to the 64bit OS.
January 23rd, 2008 at 1:16 pm
Hi Ruslan,
Extension updated, vista issues fixed, please re-download the IssSurvey from the above link and let me know if it works on your side.
Thank you.
January 23rd, 2008 at 3:29 pm
[...] Below there is a couple of related links about other ways of implementing uninstall feedback in Inno Setup: More proactive way to force the user to write the feedback Uninstall Survey plug-in for Inno Setup [...]
January 24th, 2008 at 4:31 pm
I've tried to post a comment twice, but it didn't appear here.
I'm having trouble with Cyrillic characters in the email sent by the server side script. They get garbled.
If you have any pointers, I'd appreciate your help.
Thanks.
January 25th, 2008 at 9:37 am
Hi Alexei,
IssSurvey has some troubles encoding Cyrillic characters, I'll fix this issue asap. Give me some time.
Thanks for your feedback.
January 29th, 2008 at 10:27 am
Hi, Răzvan
It works wonderful, thank you!
March 1st, 2008 at 9:13 pm
Hi all.
I've figured out how to receive non latin characters.
you can change server script to include two versions of user input.
First version - raw message without using base64_decode function.
The second version - base64 decoded string.
I've tested server script and noticed, that base64_decode works for latin characters only. If we sent cyrillic the message is not base64 encoded and we should not use base64_decode function.
I hope this is helpful.
March 4th, 2008 at 10:55 am
Hi Ivan Moiseev,
Thank you so much for your feedback on this issue, didn't get much free time for this issue but it looks like some changes in the server side script should do the trick.
Thanks again and sorry for the delay reply.
@Ruslan thank you for your feedback, if you are using Iss Survey and want to be listed in the above "Who's Using IssSurvey?" list please let me know.
April 17th, 2008 at 3:58 am
Good day!
Really nice plugin. Thank you!
What about other feedback ability such install time, count of application launching, errors, remote ip address, etc?
Some from thereof is possible via text file in programm directory. Application may collect such information and then it will be posted to server during uninstall?
Of course some information can be private then seems we need some GUI element in uninstaller...
Thank you!