Re: [PATCH setup] Show a MessageBox warning if running on a deprecated Windows version

2022-01-24 Thread Jon Turney

On 18/01/2022 16:15, Jon Turney wrote:

On 14/01/2022 09:04, Corinna Vinschen wrote:

On Jan 13 15:13, Jon Turney wrote:

Show a MessageBox warning if we are running on a Windows version which
we have deprecated Cygwin support for:


[..]


Question is, how often should setup show this message?  Every time might
really be a bit annoying.  Some kind of "I saw it, now leave me alone,
at least for a while" kind of function would be great.


Yeah, unfortunately that turns this into more effort than I'm going to 
commit to this:


Adding a "Don't show this again" checkbox means we can't use a 
MessageBox, so have design a dialog box for that purpose.


Making that setting persistent means we have to wait until after the 
cygwin root directory is established so we know where to retrieve that 
persistent setting from.


It turns out SHMessageBoxCheck() exists, which avoids both these 
problems, so I've reworked this change to use that.


Re: [PATCH setup] Show a MessageBox warning if running on a deprecated Windows version

2022-01-18 Thread Jon Turney

On 14/01/2022 09:04, Corinna Vinschen wrote:

On Jan 13 15:13, Jon Turney wrote:

Show a MessageBox warning if we are running on a Windows version which
we have deprecated Cygwin support for:

- Windows 6.0 (Windows Vista, Windows Server 2008)
- 32-bit Windows

This warning can be disabled with '--allow-unsupported-windows'.


I changed this to a separate option '-w'/'--no-warn-deprecated-windows 
(since '--allow-unsupported-windows' has the side effect of effectively 
making '--site' mandatory) and applied this.



---

Notes:
 Not sure if this is needed, or maybe this is just annoying to the ~3% of
 users who are running effected OSes.  But maybe we want to annoy them
 into doing something about it?


Question is, how often should setup show this message?  Every time might
really be a bit annoying.  Some kind of "I saw it, now leave me alone,
at least for a while" kind of function would be great.


Yeah, unfortunately that turns this into more effort than I'm going to 
commit to this:


Adding a "Don't show this again" checkbox means we can't use a 
MessageBox, so have design a dialog box for that purpose.


Making that setting persistent means we have to wait until after the 
cygwin root directory is established so we know where to retrieve that 
persistent setting from.


Re: [PATCH setup] Show a MessageBox warning if running on a deprecated Windows version

2022-01-17 Thread Brian Inglis

On 2022-01-17 03:03, Corinna Vinschen wrote:

On Jan 16 17:55, Hamish McIntyre-Bhatty wrote:

This reminds me: It's probably useful for me to support 32-bit even after
Cygwin no longer does for my commercial project(s). Which probably means I
should release said package soon (I couldn't get the rebase to work on
32-bit before, will ask another question soon. Are all the 32-bit packages
going offline after support ends or will it remain as a kind of graveyard?



This hasn't been decided yet.  I *guess* we keep the 32 bit packages
around for a while.


Like other setup and package versions, they should remain available as 
long as Peter Castro maintains the Cygwin Time Machine at 
http://www.fruitbat.org/ subsite 
http://www.crouchingtigerhiddenfruitbat.org/Cygwin/timemachine.html


--
Take care. Thanks, Brian Inglis, Calgary, Alberta, Canada

This email may be disturbing to some readers as it contains
too much technical detail. Reader discretion is advised.
[Data in binary units and prefixes, physical quantities in SI.]


Re: [PATCH setup] Show a MessageBox warning if running on a deprecated Windows version

2022-01-17 Thread Corinna Vinschen
On Jan 16 17:55, Hamish McIntyre-Bhatty wrote:
> This reminds me: It's probably useful for me to support 32-bit even after
> Cygwin no longer does for my commercial project(s). Which probably means I
> should release said package soon (I couldn't get the rebase to work on
> 32-bit before, will ask another question soon. Are all the 32-bit packages
> going offline after support ends or will it remain as a kind of graveyard?

This hasn't been decided yet.  I *guess* we keep the 32 bit packages
around for a while.


Corinna


Re: [PATCH setup] Show a MessageBox warning if running on a deprecated Windows version

2022-01-16 Thread Hamish McIntyre-Bhatty

On 16/01/2022 13:46, Adam Dinwoodie wrote:

On Fri, Jan 14, 2022 at 12:45:06PM +0100, Corinna Vinschen wrote:

On Jan 14 10:54, Adam Dinwoodie wrote:

On Fri, 14 Jan 2022 at 09:05, Corinna Vinschen wrote:

On Jan 13 15:13, Jon Turney wrote:

Show a MessageBox warning if we are running on a Windows version which
we have deprecated Cygwin support for:

- Windows 6.0 (Windows Vista, Windows Server 2008)
- 32-bit Windows

This warning can be disabled with '--allow-unsupported-windows'.
---

Notes:
 Not sure if this is needed, or maybe this is just annoying to the ~3% of
 users who are running effected OSes.  But maybe we want to annoy them
 into doing something about it?


Question is, how often should setup show this message?  Every time might
really be a bit annoying.  Some kind of "I saw it, now leave me alone,
at least for a while" kind of function would be great.


Eh. The installer tries to add icons to my desktop every time I run it
unless I provide a command-line argument every time. This behaviour
seems no more or less annoying to me, and I think having users see
that warning is much more important than adding a desktop icon.


Point.


Perhaps more constructively: I've become inured to the bits of setup's
behaviour that I find annoying, and I've created my own workarounds
(specifically, a bash function that wraps setup and automatically
provides a bunch of arguments, including `-d` to avoid adding icons I
don't want).  I expect most people who are using setup have also become
inured to these annoyances, and I don't think adding this additional
warning is a significant additional annoyance.

That said, just because I've become inured to these annoyances, doesn't
mean we* couldn't do better.  In particular, I think a lot of the parts
of the setup UI you have to go through every time could more usefully be
hidden after a user has gone through them once, and only displayed again
if (a) the user requested that with a command-line option, (b) the
options have legitimately changed, or possibly (c) the user clicks (say)
an "Advanced mode" button on the first page of the installer.

In particular, I expect the installer would be that bit friendlier to
most users if the default behaviour were as if `-Mn` were specified by
default every time after the first run.

This is obviously well outside the scope of the immediate conversation,
but I thought it worth revisiting the topic with a more constructive
view, rather than my initial slightly grumpy reaction.

Adam

* I say "we" here; I sadly do not have the bandwidth for committing to
working on even small enhancements to setup's usability.  The perennial
open source issue: someone has to do it, and I have far too many other
things to spend time on...



This reminds me: It's probably useful for me to support 32-bit even 
after Cygwin no longer does for my commercial project(s). Which probably 
means I should release said package soon (I couldn't get the rebase to 
work on 32-bit before, will ask another question soon. Are all the 
32-bit packages going offline after support ends or will it remain as a 
kind of graveyard?


Hamish McIntyre-Bhatty


Re: [PATCH setup] Show a MessageBox warning if running on a deprecated Windows version

2022-01-16 Thread Adam Dinwoodie
On Fri, Jan 14, 2022 at 12:45:06PM +0100, Corinna Vinschen wrote:
> On Jan 14 10:54, Adam Dinwoodie wrote:
> > On Fri, 14 Jan 2022 at 09:05, Corinna Vinschen wrote:
> > > On Jan 13 15:13, Jon Turney wrote:
> > > > Show a MessageBox warning if we are running on a Windows version which
> > > > we have deprecated Cygwin support for:
> > > >
> > > > - Windows 6.0 (Windows Vista, Windows Server 2008)
> > > > - 32-bit Windows
> > > >
> > > > This warning can be disabled with '--allow-unsupported-windows'.
> > > > ---
> > > >
> > > > Notes:
> > > > Not sure if this is needed, or maybe this is just annoying to the 
> > > > ~3% of
> > > > users who are running effected OSes.  But maybe we want to annoy 
> > > > them
> > > > into doing something about it?
> > >
> > > Question is, how often should setup show this message?  Every time might
> > > really be a bit annoying.  Some kind of "I saw it, now leave me alone,
> > > at least for a while" kind of function would be great.
> > 
> > Eh. The installer tries to add icons to my desktop every time I run it
> > unless I provide a command-line argument every time. This behaviour
> > seems no more or less annoying to me, and I think having users see
> > that warning is much more important than adding a desktop icon.
> 
> Point.

Perhaps more constructively: I've become inured to the bits of setup's
behaviour that I find annoying, and I've created my own workarounds
(specifically, a bash function that wraps setup and automatically
provides a bunch of arguments, including `-d` to avoid adding icons I
don't want).  I expect most people who are using setup have also become
inured to these annoyances, and I don't think adding this additional
warning is a significant additional annoyance.

That said, just because I've become inured to these annoyances, doesn't
mean we* couldn't do better.  In particular, I think a lot of the parts
of the setup UI you have to go through every time could more usefully be
hidden after a user has gone through them once, and only displayed again
if (a) the user requested that with a command-line option, (b) the
options have legitimately changed, or possibly (c) the user clicks (say)
an "Advanced mode" button on the first page of the installer.

In particular, I expect the installer would be that bit friendlier to
most users if the default behaviour were as if `-Mn` were specified by
default every time after the first run.

This is obviously well outside the scope of the immediate conversation,
but I thought it worth revisiting the topic with a more constructive
view, rather than my initial slightly grumpy reaction.

Adam

* I say "we" here; I sadly do not have the bandwidth for committing to
working on even small enhancements to setup's usability.  The perennial
open source issue: someone has to do it, and I have far too many other
things to spend time on...


Re: [PATCH setup] Show a MessageBox warning if running on a deprecated Windows version

2022-01-14 Thread Corinna Vinschen
On Jan 14 10:54, Adam Dinwoodie wrote:
> On Fri, 14 Jan 2022 at 09:05, Corinna Vinschen wrote:
> > On Jan 13 15:13, Jon Turney wrote:
> > > Show a MessageBox warning if we are running on a Windows version which
> > > we have deprecated Cygwin support for:
> > >
> > > - Windows 6.0 (Windows Vista, Windows Server 2008)
> > > - 32-bit Windows
> > >
> > > This warning can be disabled with '--allow-unsupported-windows'.
> > > ---
> > >
> > > Notes:
> > > Not sure if this is needed, or maybe this is just annoying to the ~3% 
> > > of
> > > users who are running effected OSes.  But maybe we want to annoy them
> > > into doing something about it?
> >
> > Question is, how often should setup show this message?  Every time might
> > really be a bit annoying.  Some kind of "I saw it, now leave me alone,
> > at least for a while" kind of function would be great.
> 
> Eh. The installer tries to add icons to my desktop every time I run it
> unless I provide a command-line argument every time. This behaviour
> seems no more or less annoying to me, and I think having users see
> that warning is much more important than adding a desktop icon.

Point.


Corinna


Re: [PATCH setup] Show a MessageBox warning if running on a deprecated Windows version

2022-01-14 Thread Adam Dinwoodie
On Fri, 14 Jan 2022 at 09:05, Corinna Vinschen wrote:
> On Jan 13 15:13, Jon Turney wrote:
> > Show a MessageBox warning if we are running on a Windows version which
> > we have deprecated Cygwin support for:
> >
> > - Windows 6.0 (Windows Vista, Windows Server 2008)
> > - 32-bit Windows
> >
> > This warning can be disabled with '--allow-unsupported-windows'.
> > ---
> >
> > Notes:
> > Not sure if this is needed, or maybe this is just annoying to the ~3% of
> > users who are running effected OSes.  But maybe we want to annoy them
> > into doing something about it?
>
> Question is, how often should setup show this message?  Every time might
> really be a bit annoying.  Some kind of "I saw it, now leave me alone,
> at least for a while" kind of function would be great.

Eh. The installer tries to add icons to my desktop every time I run it
unless I provide a command-line argument every time. This behaviour
seems no more or less annoying to me, and I think having users see
that warning is much more important than adding a desktop icon.


Re: [PATCH setup] Show a MessageBox warning if running on a deprecated Windows version

2022-01-14 Thread Corinna Vinschen
On Jan 13 15:13, Jon Turney wrote:
> Show a MessageBox warning if we are running on a Windows version which
> we have deprecated Cygwin support for:
> 
> - Windows 6.0 (Windows Vista, Windows Server 2008)
> - 32-bit Windows
> 
> This warning can be disabled with '--allow-unsupported-windows'.
> ---
> 
> Notes:
> Not sure if this is needed, or maybe this is just annoying to the ~3% of
> users who are running effected OSes.  But maybe we want to annoy them
> into doing something about it?

Question is, how often should setup show this message?  Every time might
really be a bit annoying.  Some kind of "I saw it, now leave me alone,
at least for a while" kind of function would be great.

Other than that, for people not visiting the home page or subscribing
to the mailing lists that may turn out to be an important info, so I'm
for it.


Corinna


[PATCH setup] Show a MessageBox warning if running on a deprecated Windows version

2022-01-13 Thread Jon Turney
Show a MessageBox warning if we are running on a Windows version which
we have deprecated Cygwin support for:

- Windows 6.0 (Windows Vista, Windows Server 2008)
- 32-bit Windows

This warning can be disabled with '--allow-unsupported-windows'.
---

Notes:
Not sure if this is needed, or maybe this is just annoying to the ~3% of
users who are running effected OSes.  But maybe we want to annoy them
into doing something about it?

 main.cc| 23 +++
 res.rc |  2 ++
 resource.h |  2 ++
 3 files changed, 23 insertions(+), 4 deletions(-)

diff --git a/main.cc b/main.cc
index 162028f..818b01b 100644
--- a/main.cc
+++ b/main.cc
@@ -330,11 +330,26 @@ WinMain (HINSTANCE h,
   }
 
 /* Check if Cygwin works on this Windows version */
-if (!UnsupportedOption && (OSMajorVersion () < 6))
+if (!UnsupportedOption)
   {
-   mbox (NULL, IDS_UNSUPPORTED_WINDOWS_VERSION,
-  MB_ICONEXCLAMATION | MB_OK);
-   Logger ().exit (1, false);
+if (OSMajorVersion () < 6)
+  {
+mbox (NULL, IDS_UNSUPPORTED_WINDOWS_VERSION,
+  MB_ICONEXCLAMATION | MB_OK);
+Logger ().exit (1, false);
+  }
+
+if
+#ifdef _X86_
+  (TRUE)
+#else
+  (!is_64bit)
+#endif
+  mbox (NULL, IDS_DEPRECATED_WINDOWS_ARCH,
+MB_ICONEXCLAMATION | MB_OK);
+else if ((OSMajorVersion () == 6) && (OSMinorVersion() < 1))
+  mbox (NULL, IDS_DEPRECATED_WINDOWS_VERSION,
+MB_ICONEXCLAMATION | MB_OK);
   }
 
 /* Set default DACL and Group. */
diff --git a/res.rc b/res.rc
index 83d8339..1b9026a 100644
--- a/res.rc
+++ b/res.rc
@@ -675,6 +675,8 @@ BEGIN
 "Setup will not be able to create Cygwin Icons "
 "in the Start Menu or on the Desktop."
 IDS_UNSUPPORTED_WINDOWS_VERSION "Cygwin is not supported on this Windows 
version"
+IDS_DEPRECATED_WINDOWS_VERSION "Cygwin support for this Windows version is 
deprecated, and will be removed in the next major version"
+IDS_DEPRECATED_WINDOWS_ARCH "Cygwin support for 32-bit Windows is 
deprecated, and will be removed in the next major version"
 IDS_MOUNT_REGISTRY_KEY_FAILED "Couldn't create registry key to store 
installation path"
 IDS_NIO_ERROR "Internet Error: %s"
 IDS_PREREQ_UNSOLVED_PROBLEMS
diff --git a/resource.h b/resource.h
index 0a10f64..6dfedcc 100644
--- a/resource.h
+++ b/resource.h
@@ -103,6 +103,8 @@
 #define IDS_PROGRESS_DOWNLOADING_FROM1206
 #define IDS_FILE_INUSE_KILL  1207
 #define IDS_FILE_INUSE_MSG   1208
+#define IDS_DEPRECATED_WINDOWS_VERSION   1209
+#define IDS_DEPRECATED_WINDOWS_ARCH  1210
 
 // Dialogs
 
-- 
2.34.1