Uninstall Survey for Inno Setup

Posted on the May 28th, 2007 under Raz-Soft News, [ En ] by Raz

  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)

100% FREE AWARD

  • 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:

    1
    2
    3
    4
    5
    6
    [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):

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    [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?

27 Responses to 'Uninstall Survey for Inno Setup'

  1. December 27, 2007 at 5:19 am
    Edwin
  2. January 2, 2008 at 2:33 pm
    Raz
  3. January 3, 2008 at 5:12 pm
    Ivan
  4. January 4, 2008 at 11:02 am
    Raz
  5. January 21, 2008 at 7:01 pm
    Ruslan
  6. January 23, 2008 at 1:16 pm
    Raz
  7. January 24, 2008 at 4:31 pm
    Alexei Vinidiktov
  8. January 25, 2008 at 9:37 am
    Raz
  9. January 29, 2008 at 10:27 am
    Ruslan
  10. March 1, 2008 at 9:13 pm
    Ivan Moiseev
  11. March 4, 2008 at 10:55 am
    Raz
  12. April 17, 2008 at 3:58 am
    Mikhail
  13. January 26, 2009 at 8:19 pm
    Theo
  14. January 26, 2009 at 8:25 pm
    Theo
  15. December 2, 2009 at 3:52 am
    Steven Sproat
  16. December 20, 2009 at 2:13 am
    Rensy
    • December 20, 2009 at 9:46 am
      Raz
  17. December 22, 2009 at 10:45 am
    Alex
    • December 22, 2009 at 11:00 am
      Raz
  18. December 27, 2009 at 5:10 pm
    Alex
    • January 7, 2010 at 9:39 pm
      Raz
  19. January 7, 2010 at 8:56 pm
    John
    • January 7, 2010 at 9:43 pm
      Raz
  20. January 8, 2010 at 7:53 am
    John
  21. January 8, 2010 at 12:58 pm
    John

Leave a Reply

Skip, ignore me





XHTML::
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>