[cc tortoisehg-dev list]

On Sat, Jan 17, 2009 at 10:52 AM, Peer Sommerlund
<[email protected]> wrote:
>
>
> 2009/1/17 TK Soh <[email protected]>
>>
>> On Sat, Jan 17, 2009 at 6:35 AM, Peer Sommerlund
>> <[email protected]> wrote:
>> >
>> >
>> > 2009/1/17 TK Soh <[email protected]>
>> >>
>> >> On Fri, Jan 16, 2009 at 8:50 PM, Peer Sommerlund
>> >> <[email protected]> wrote:
>> >> >
>> >> >
>> >> > 2009/1/15 TK Soh <[email protected]>
>> >> >>
>> >> >> On Thu, Jan 15, 2009 at 11:55 AM, Peer Sommerlund
>> >> >> <[email protected]> wrote:
>> >> >> > The solution is simple: The installer should call the uninstaller
>> >> >> > as
>> >> >> > the
>> >> >> > first step if it detects an installed THG.
>> >> >>
>> >> >> I am open for patches.
>> >> >
>> >> > I have some trouble with my patchbomb, so attached is a patch file.
>> >> > I'm not quite satisfied with the workflow, so maybe somebody can come
>> >> > up
>> >> > with a better way to do it.
>> >>
>> >> I haven't really tested it, but here's some quick thought.
>> >>
>> >> I also feel that there are too many steps involved. First, I think we
>> >> should just remove the previous installation without asking for
>> >> permission, since there's not reason to keep the old one around.
>> >>
>> >> The other problem I can see is that the uninstaller [of the previous
>> >> installation] will prompt for a reboot, and this can be potentially
>> >> confusing. Though I don't have a solution to this. Any quick idea?
>> >
>> > How about this pseudocode
>> >
>> > if no old version continue with installation
>> > else
>> > msgbox("Old version must be uninstalled first, do you want to do that
>> > now?",
>> > YES_NO)
>> > if no then exit installer
>> > uninstall old version
>> > msgbox("you must reboot and run installer again", OK)
>>
>> The uninstaller should already prompt for with this message. So the
>> new installer shouldn't need bring up another one.
>
> This was just to make sure that the user did not "cheat", but you are right
> -- it is stilly to state this twice.
>>
>>
>> > exit installer
>>
>> The last time I tried (I will need to try again to confirm this), I
>> didn't need to uninstall 0.5 first. However, it's a must to uninstall
>> first if upgrading from 0.4.x. So, perhaps we will try to detect
>> TortoiseHg 0.4.x, and refused to install the new one unless it's
>> uninstalled first. What do you thing?
>
> The reason we reboot is to reload the registry and to delete files locked by
> a running process. If you can install 0.4 on top of 0.3, then the latter is
> apparently not needed. I recall some issue in a situation where I did not
> reboot as asked to. Unfortunately, I don't have documentation of this. Maybe
> this was after the first installation (on a clean machine).

Actually the whole purpose of reboot is to kill explorer.exe, so the
shell extension DLL can be removed. We can only delete, or overwrite,
a file that's not in used. IIRC, that's how TCVS installer does it -
by kill explorer from within the installer.

I don't have the clear idea why I was able to install my 0.6-beta over
the 0.5 the last time. Perhaps it has to be with fact that we are
using TortoiseOverlays.dll.

We are running out of time on understanding this issue. So we'll just
have to force the user to uninstall. Though right now I am leaning
towards having the user to uninstall themselve (by running the
uninstaller), instead of having the new installer does it. I'm a
little worry it might create some confusion.

> Thus we might be able to run the uninstaller, NOT reboot, and then run the
> installer. Note, that I have not tested if this works.
>
> Regards,
> Peer
>

------------------------------------------------------------------------------
This SF.net email is sponsored by:
SourcForge Community
SourceForge wants to tell your story.
http://p.sf.net/sfu/sf-spreadtheword
_______________________________________________
Tortoisehg-develop mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/tortoisehg-develop

Reply via email to