Re: [WiX-users] Uninstall Previous Inno Setup Installed App

2011-03-14 Thread Jammer
Hi All,

I've gotten evey thing working now.  Thanks for the help.

The only problem I see now is that I get a second file prompt when the 
uninstaller is run.  The uninstaller does it's thing and then the GUI 
switches back to my new Wix installer and completes the install of the 
new version but when I press Finish sometimes the dialog box saying "You 
app was successfully removed" from the run of the uninstaller is the 
last thing the user sees which will make users think it's just 
uninstalled itself when in fact the new version just installed.

The QuietUninstallString in the registry is exactly the same as the 
UninstallString  but with "/SILENT" appended and since the CustomAction 
also needs an ExeCommand I just placed the "/SILENT" part of the 
QuietUninstallString in that attribute in my WiX xml and use the 
UninstallString as my Property value.

Is there a way to do all this in the background without upsetting the 
flow of the WiX UI?

Thanks,

Jammer

--
Colocation vs. Managed Hosting
A question and answer guide to determining the best fit
for your organization - today and in the future.
http://p.sf.net/sfu/internap-sfd2d
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] Uninstall Previous Inno Setup Installed App

2011-03-12 Thread Jammer
Hi Rob,

I've just tried these new settings and I'm getting an error.

"The installer has encountered an unexpected error installing this 
package.  This may indicate a problem with this package.  The error code 
is 2613".

Which seems to be a scheduling issue with the RemoveExistingProducts 
action.  I'm looking at the log that was generated and to be honest I'm 
finding the contents confusing.  According to the log my custom action 
was performed:

Action start 20:14:16: ca.RemovePreviousVersion32.
Action ended 20:14:16: ca.RemovePreviousVersion32. Return value 1.

But the old application is still installed.

I tried moving my custom action to After="RemoveExistingProducts" but 
this ended up with the same mangled partial install of the MSI version.  
Should my return be check instead of ignore?  I'm also a bit confused as 
to how the Return and Execute interact as they seem to have similar 
semantics.  If something is deferred or "in-script" is that syncronous?

Any other ideas?

Thanks,

Jammer

On 12/03/2011 15:48, Rob Mensching wrote:
> Seems like you'd want the uninstall to be deferred. I'd mark the 
> CustomAction deferred and schedule after InstallInitialize.
>
> On Sat, Mar 12, 2011 at 5:57 AM, Jammer  > wrote:
>
> Hi All,
>
> I've got this working now, but there is one major problem.  It appears
> there is some form of race condition.
>
> According to the MSI log my custom action is being run:
>
> Action 13:35:42: ca.RemovePreviousVersion32.
> Action start 13:35:42: ca.RemovePreviousVersion32.
> Action ended 13:35:49: ca.RemovePreviousVersion32. Return value 1.
>
> My CustomAction is:
>
>  Property="UNINSTALL_EXE32"
> ExeCommand="/SILENT" Execute="immediate" Return="ignore" />
>
> 
>  Before="InstallValidate">UNINSTALL_EXE32
> 
>
> Which as far as I can tell should be running the custom action
> syncronously and immediately before InstallValidate without
> checking the
> return value (I've tried other setting for the Return with the
> same effect).
>
> However, at the end of the MSI install files are missing from the
> install directory!  It's as if the previous version uninstall has
> still
> been active after the MSI has written it's files to the install
> directory and then deleted them as well.  I tried building an MSI that
> wrote to a different location and that worked.  The MSI install was
> complete and working and the old version was un-installed as required.
>
> Any ideas would be great.
>
> Thanks,
>
> Jammer
>
> 
> --
> Colocation vs. Managed Hosting
> A question and answer guide to determining the best fit
> for your organization - today and in the future.
> http://p.sf.net/sfu/internap-sfd2d
> ___
> WiX-users mailing list
> WiX-users@lists.sourceforge.net
> 
> https://lists.sourceforge.net/lists/listinfo/wix-users
>
>
>
>
> -- 
> virtually, Rob Mensching - http://RobMensching.com LLC
--
Colocation vs. Managed Hosting
A question and answer guide to determining the best fit
for your organization - today and in the future.
http://p.sf.net/sfu/internap-sfd2d
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] Uninstall Previous Inno Setup Installed App

2011-03-12 Thread Rob Mensching
Seems like you'd want the uninstall to be deferred. I'd mark the
CustomAction deferred and schedule after InstallInitialize.

On Sat, Mar 12, 2011 at 5:57 AM, Jammer  wrote:

> Hi All,
>
> I've got this working now, but there is one major problem.  It appears
> there is some form of race condition.
>
> According to the MSI log my custom action is being run:
>
> Action 13:35:42: ca.RemovePreviousVersion32.
> Action start 13:35:42: ca.RemovePreviousVersion32.
> Action ended 13:35:49: ca.RemovePreviousVersion32. Return value 1.
>
> My CustomAction is:
>
>  ExeCommand="/SILENT" Execute="immediate" Return="ignore" />
>
> 
>  Before="InstallValidate">UNINSTALL_EXE32
> 
>
> Which as far as I can tell should be running the custom action
> syncronously and immediately before InstallValidate without checking the
> return value (I've tried other setting for the Return with the same
> effect).
>
> However, at the end of the MSI install files are missing from the
> install directory!  It's as if the previous version uninstall has still
> been active after the MSI has written it's files to the install
> directory and then deleted them as well.  I tried building an MSI that
> wrote to a different location and that worked.  The MSI install was
> complete and working and the old version was un-installed as required.
>
> Any ideas would be great.
>
> Thanks,
>
> Jammer
>
>
> --
> Colocation vs. Managed Hosting
> A question and answer guide to determining the best fit
> for your organization - today and in the future.
> http://p.sf.net/sfu/internap-sfd2d
> ___
> WiX-users mailing list
> WiX-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/wix-users
>
>


-- 
virtually, Rob Mensching - http://RobMensching.com LLC
--
Colocation vs. Managed Hosting
A question and answer guide to determining the best fit
for your organization - today and in the future.
http://p.sf.net/sfu/internap-sfd2d
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] Uninstall Previous Inno Setup Installed App

2011-03-12 Thread Jammer
Hi All,

I've got this working now, but there is one major problem.  It appears 
there is some form of race condition.

According to the MSI log my custom action is being run:

Action 13:35:42: ca.RemovePreviousVersion32.
Action start 13:35:42: ca.RemovePreviousVersion32.
Action ended 13:35:49: ca.RemovePreviousVersion32. Return value 1.

My CustomAction is:




UNINSTALL_EXE32


Which as far as I can tell should be running the custom action 
syncronously and immediately before InstallValidate without checking the 
return value (I've tried other setting for the Return with the same effect).

However, at the end of the MSI install files are missing from the 
install directory!  It's as if the previous version uninstall has still 
been active after the MSI has written it's files to the install 
directory and then deleted them as well.  I tried building an MSI that 
wrote to a different location and that worked.  The MSI install was 
complete and working and the old version was un-installed as required.

Any ideas would be great.

Thanks,

Jammer

--
Colocation vs. Managed Hosting
A question and answer guide to determining the best fit
for your organization - today and in the future.
http://p.sf.net/sfu/internap-sfd2d
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] Uninstall Previous Inno Setup Installed App

2011-03-11 Thread Jeremy Farrell
One thing is that it looks like you're not allowing for the automatic 
redirection of various things such as the registry when you run 32-bit things 
on a 64-bit system. If your installer is 32-bit and you run it on a 64-bit 
system, then references to 'SOFTWARE\Microsoft' will get silently redirected to 
'SOFTWARE\Wow6432Node\Microsoft' behind the scenes.

If the old installer was 32 bit and you new installer is 32-bit, you should 
just be able to create an installer as if you were targeting a 32-bit system 
and it will do the right thing on both 32 and 64 bit - that's the purpose of 
the automatic redirection system.

> From: Jammer [mailto:jam...@jammer.biz] 
> Sent: Friday, March 11, 2011 8:01 PM
> 
> Hi Again,
> 
> I've just created a log of my installer and it seems that 
> I've got some 
> of it work now but the last test just left me with a mangled install 
> that won't uninstall :(
> 
> According to the log both of these searches found their 
> registry values, 
> which is confusing since using regedit I can only find the first 
> Wow6432Node key:
> 
> 
>  Key='SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uni
> nstall\{413B7644-1F93-4890-BD40-AC540C29935B}_is1' 
> Name='UninstallString'>
> 
> 
> 
> 
>  Key='SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{413B
> 7644-1F93-4890-BD40-AC540C29935B}_is1' 
> Name='UninstallString'>
> 
> 
> 
> 
> I'm running Win7 64 and my old app is installed into Program 
> Files (x86) 
> is this why it ran the 32bit CustomAction?
> 
> 
>  Before="InstallFiles">VERSIONNT64
> NOT 
> VERSIONNT64
> 
> 
> MSI (s) (C4:64) [19:37:29:528]: Skipping action: 
> ca.RemovePreviousVersion64 (condition is false)
> MSI (s) (C4:64) [19:37:21:422]: Doing action: 
> ca.RemovePreviousVersion32
> 
> Pretty confused by this to be honest I tried VERSIONNT64 and 
> VERSIONNT 
> before this but both evaluated false
> 
> Is the VERSIONNT64 actually referring to Program Files (x86) 
> and not the 
> OS version?
> 
> Also, I think the InstallFiles is wrong as I've ended up with 
> only some 
> of the files from the MSI installer actually being installed.  Or did 
> the time the uninstall execute after some of the MSI files 
> had been copied.
> 
> Off to fix this utterly mangled install ...
> 
> Thanks,
> 
> James
> 
> --
> 
> Colocation vs. Managed Hosting
> A question and answer guide to determining the best fit
> for your organization - today and in the future.
> http://p.sf.net/sfu/internap-sfd2d
> ___
> WiX-users mailing list
> WiX-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/wix-users
> 
--
Colocation vs. Managed Hosting
A question and answer guide to determining the best fit
for your organization - today and in the future.
http://p.sf.net/sfu/internap-sfd2d
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] Uninstall Previous Inno Setup Installed App

2011-03-11 Thread Jammer
Hi Again,

I've just created a log of my installer and it seems that I've got some 
of it work now but the last test just left me with a mangled install 
that won't uninstall :(

According to the log both of these searches found their registry values, 
which is confusing since using regedit I can only find the first 
Wow6432Node key:












I'm running Win7 64 and my old app is installed into Program Files (x86) 
is this why it ran the 32bit CustomAction?


VERSIONNT64
NOT 
VERSIONNT64


MSI (s) (C4:64) [19:37:29:528]: Skipping action: 
ca.RemovePreviousVersion64 (condition is false)
MSI (s) (C4:64) [19:37:21:422]: Doing action: ca.RemovePreviousVersion32

Pretty confused by this to be honest I tried VERSIONNT64 and VERSIONNT 
before this but both evaluated false

Is the VERSIONNT64 actually referring to Program Files (x86) and not the 
OS version?

Also, I think the InstallFiles is wrong as I've ended up with only some 
of the files from the MSI installer actually being installed.  Or did 
the time the uninstall execute after some of the MSI files had been copied.

Off to fix this utterly mangled install ...

Thanks,

James

--
Colocation vs. Managed Hosting
A question and answer guide to determining the best fit
for your organization - today and in the future.
http://p.sf.net/sfu/internap-sfd2d
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] Uninstall Previous Inno Setup Installed App

2011-03-11 Thread Jammer
Hi All,

I thought I was on the right track with this, but after some testing 
it's not working as expected.

I've defined this in my installer:
















VERSIONNT64
VERSIONNT


As sean said below he uses QuiteUninstallString but in the registry that 
is the "path to the uninstall.exe" with a command of "/SILENT" and 
CustomActions need a Property (full path to exe) and an ExeCommand.  Can 
the exe command be specified with an empty string?

Or am I completely barking up the wrong tree with the whole thing at the 
moment?

Thanks,

Jammer


On 10/03/2011 22:23, Sean Farrow wrote:
> Hi:
> On a 32-bit version of windows, your key would look like:
> "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{413B7644-1F93-4890-BD40-AC540C29935B}_is1"
> I don't tend to use SilentUninstallString in these situations as this stil 
> shows user interface--at least the cancel button if I remember correctly and 
> it may even give the user the option to uninstall! I'd rather use 
> "QuietUninstallString" as this shows nothing.
> To get these two custom actions to work you need to search the registry based 
> on a condition--I'd use VERSIONNT64/VERSIONNT.
> Then have two custom actions in your InstallExecute sequence, one that 
> executes if your running 32-bit windows and the other if your running 64-bit.
> Looking at the old code I ran the uninstall just before InstallFiles.
>
> If you need any further help let me know but hopefully this should be enough 
> to get you going!
> Cheers
> Sean.
--
Colocation vs. Managed Hosting
A question and answer guide to determining the best fit
for your organization - today and in the future.
http://p.sf.net/sfu/internap-sfd2d
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] Uninstall Previous Inno Setup Installed App

2011-03-11 Thread Jammer
I think I've cracked it.
















VERSIONNT64
VERSIONNT


On 10/03/2011 22:23, Sean Farrow wrote:
> Hi:
> On a 32-bit version of windows, your key would look like:
> "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{413B7644-1F93-4890-BD40-AC540C29935B}_is1"
> I don't tend to use SilentUninstallString in these situations as this stil 
> shows user interface--at least the cancel button if I remember correctly and 
> it may even give the user the option to uninstall! I'd rather use 
> "QuietUninstallString" as this shows nothing.
> To get these two custom actions to work you need to search the registry based 
> on a condition--I'd use VERSIONNT64/VERSIONNT.
> Then have two custom actions in your InstallExecute sequence, one that 
> executes if your running 32-bit windows and the other if your running 64-bit.
> Looking at the old code I ran the uninstall just before InstallFiles.
>
> If you need any further help let me know but hopefully this should be enough 
> to get you going!
> Cheers
> Sean.
>
> -Original Message-
> From: Jammer [mailto:jam...@jammer.biz]
> Sent: 10 March 2011 20:43
> To: wix-users@lists.sourceforge.net
> Subject: [WiX-users] Uninstall Previous Inno Setup Installed App
>
> Hi All,
>
> I've just rewritten my installer using WiX 3.5.  However, before I
> distribute the new MSI I'm dotting all the i and crossing the t's this
> time!  The problem is that I need to make sure the previous .exe setup
> is removed before installing the new msi version.
>
> So, i've been looking at various ways to locate the unins000.exe file
> (UninstallString) and execute it.  If possible I'd like to search the
> registry and use the info in there but I can't think of a way to use the
>   element and be sure it's found, if there.
>
> When I look at my dev machine registry the key would look like this:
>
> "SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{413B7644-1F93-4890-BD40-AC540C29935B}_is1"
>
> How would this work on a 32bit XP machine for instance?  What key value
> can I possibly use to catch all flavours of OS?  I've seen the Win64
> property but I can only find my keys in one place on my dev machine so
> if I said no to this it wouldn't find it on my dev box ... confused!
>
> All the script I have for this at the moment is:
>
> 
>  Key='SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{413B7644-1F93-4890-BD40-AC540C29935B}_is1'
> Name='UninstallString' Win64='??' />
> 
> 
>
> 
> 
> 
>
>  ExeCommand="UNINSTALL_CMD" />
>
> Any pointers on this would be much appreciated.
>
> Thanks,
>
> Jammer
>
> --
> Colocation vs. Managed Hosting
> A question and answer guide to determining the best fit
> for your organization - today and in the future.
> http://p.sf.net/sfu/internap-sfd2d
> ___
> WiX-users mailing list
> WiX-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/wix-users
>
--
Colocation vs. Managed Hosting
A question and answer guide to determining the best fit
for your organization - today and in the future.
http://p.sf.net/sfu/internap-sfd2d
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] Uninstall Previous Inno Setup Installed App

2011-03-10 Thread Sean Farrow
Hi: 
On a 32-bit version of windows, your key would look like:
"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{413B7644-1F93-4890-BD40-AC540C29935B}_is1"
I don't tend to use SilentUninstallString in these situations as this stil 
shows user interface--at least the cancel button if I remember correctly and it 
may even give the user the option to uninstall! I'd rather use 
"QuietUninstallString" as this shows nothing.
To get these two custom actions to work you need to search the registry based 
on a condition--I'd use VERSIONNT64/VERSIONNT.
Then have two custom actions in your InstallExecute sequence, one that executes 
if your running 32-bit windows and the other if your running 64-bit.
Looking at the old code I ran the uninstall just before InstallFiles.

If you need any further help let me know but hopefully this should be enough to 
get you going!
Cheers
Sean.

-Original Message-
From: Jammer [mailto:jam...@jammer.biz] 
Sent: 10 March 2011 20:43
To: wix-users@lists.sourceforge.net
Subject: [WiX-users] Uninstall Previous Inno Setup Installed App

Hi All,

I've just rewritten my installer using WiX 3.5.  However, before I 
distribute the new MSI I'm dotting all the i and crossing the t's this 
time!  The problem is that I need to make sure the previous .exe setup 
is removed before installing the new msi version.

So, i've been looking at various ways to locate the unins000.exe file 
(UninstallString) and execute it.  If possible I'd like to search the 
registry and use the info in there but I can't think of a way to use the 
 element and be sure it's found, if there.

When I look at my dev machine registry the key would look like this:

"SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{413B7644-1F93-4890-BD40-AC540C29935B}_is1"

How would this work on a 32bit XP machine for instance?  What key value 
can I possibly use to catch all flavours of OS?  I've seen the Win64 
property but I can only find my keys in one place on my dev machine so 
if I said no to this it wouldn't find it on my dev box ... confused!

All the script I have for this at the moment is:












Any pointers on this would be much appreciated.

Thanks,

Jammer

--
Colocation vs. Managed Hosting
A question and answer guide to determining the best fit
for your organization - today and in the future.
http://p.sf.net/sfu/internap-sfd2d
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

--
Colocation vs. Managed Hosting
A question and answer guide to determining the best fit
for your organization - today and in the future.
http://p.sf.net/sfu/internap-sfd2d
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


[WiX-users] Uninstall Previous Inno Setup Installed App

2011-03-10 Thread Jammer
Hi All,

I've just rewritten my installer using WiX 3.5.  However, before I 
distribute the new MSI I'm dotting all the i and crossing the t's this 
time!  The problem is that I need to make sure the previous .exe setup 
is removed before installing the new msi version.

So, i've been looking at various ways to locate the unins000.exe file 
(UninstallString) and execute it.  If possible I'd like to search the 
registry and use the info in there but I can't think of a way to use the 
 element and be sure it's found, if there.

When I look at my dev machine registry the key would look like this:

"SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{413B7644-1F93-4890-BD40-AC540C29935B}_is1"

How would this work on a 32bit XP machine for instance?  What key value 
can I possibly use to catch all flavours of OS?  I've seen the Win64 
property but I can only find my keys in one place on my dev machine so 
if I said no to this it wouldn't find it on my dev box ... confused!

All the script I have for this at the moment is:












Any pointers on this would be much appreciated.

Thanks,

Jammer

--
Colocation vs. Managed Hosting
A question and answer guide to determining the best fit
for your organization - today and in the future.
http://p.sf.net/sfu/internap-sfd2d
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users