PDA

View Full Version : Uninstall dialog adventures



RussianDevil
06-28-2004, 07:49 AM
hi everybody,

To cut the long story short, here's the dilemma. I'm using InstallShield Developer 8.0 and Basic MSI project. I'm trying to obtain some information from the end-user during uninstall (yes, I know this is usually done only during installs and upgrades), in the form of user name and a password. Now, using an InstallScript custom action and two invocations of AskText seems to work fine except: a) I'd prefer to get all the information right away b) not sure why but there is a 'Back' button in the dialog that appears, and pressing it has somewhat undesirable (from my point of view) effects, so I wish it wasn't there or at least was disabled c) when prompting the end-user for the password, the edit-field isn't encrypting the entered text.

First I found some InstallScript .rul file which had an implementation of AskPass(word) routine, but that didn't seem to compile too well when I added it to my project (it had a whole bunch of #includes at the top of it, and some constant definitions weren't being found by the compiler apparently)

Now, there is also a SdsomethingEdit2something function that I located in documentation (which is supposed to only work in InstallScript projects, I thought, but works ok for me in my custom action), that solves the problem a) I mentioned earlier but still has b) and c) downsides.

Now, someone suggested modifying the resources in _IsRes.dll (or making a copy of _IsRes.dll, calling it _IsUser.dll, and copy-pasting the necessary resource across then modifying it and rebuilding the project). I've found two files that match this description: _IsRes.dll and _IsRes7.dll, below Redist/0409/ subfolder... have tried editing dialog with index 12018 (which corresponds to the one that is shows in SdsomethingEdit2something), by deleting the 'Back' button and setting the second edit field's style to 'Password', saved the modified _IsRes.dll, rebuilt the project but this didn't seem to have any results at all.
The idea involving _IsUser.dll also seemed to mention storing the resulting file below some Setup Files/Compressed Files subdirectory, but I failed to locate it on my hard drive.

At this point in time, I'm almost starting to learn towards creating a function in my own .dll, that would do use CreateDialog Windows API routine and hopefully do the job. But I figured I'd post this up and see if anyone has any helpful suggestions, which would be much appreciated.

regards,
Greg