[VS2017][release] vswhere.exe

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
39 messages Options
12
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

[VS2017][release] vswhere.exe

Boost - Dev mailing list
Hi,

This is regarding issues with locating VS 2017 toolset(s).
From CMake ml, I learned about vswhere utility being developed by Microsoft

https://github.com/Microsoft/vswhere

vswhere.exe (390 KB) is downloadable from

https://github.com/Microsoft/vswhere/releases

I'm not sure how exactly, but perhaps it would solve some of the
Boost.Build's headache (eg. particular PowerShell version required).

For example, it can

find all VS versions I've got installed (10.0, 11.0, 12.0, 14.0, 15.0):

vswhere.exe -legacy

find a particular version:

vswhere -legacy -version [11.0,12.0)

Best regards,
--
Mateusz Loskot, http://mateusz.loskot.net

_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: [VS2017][release] vswhere.exe

Boost - Dev mailing list
On Tue, Mar 28, 2017 at 8:41 AM, Mateusz Loskot via Boost <
[hidden email]> wrote:

> Hi,
>
> This is regarding issues with locating VS 2017 toolset(s).
> From CMake ml, I learned about vswhere utility being developed by Microsoft
>
> https://github.com/Microsoft/vswhere
>
> vswhere.exe (390 KB) is downloadable from
>
> https://github.com/Microsoft/vswhere/releases
>
> I'm not sure how exactly, but perhaps it would solve some of the
> Boost.Build's headache (eg. particular PowerShell version required).
>
> For example, it can
>
> find all VS versions I've got installed (10.0, 11.0, 12.0, 14.0, 15.0):
>
> vswhere.exe -legacy
>
> find a particular version:
>
> vswhere -legacy -version [11.0,12.0)
>

Yes, we are ware of that utility. As we advocated (or rather more like
pestered) MS to write it. Unfortunately it didn't make it into the release
itself. And at least because of license issues I'm not comfortable
including it in the Boost tree, or install. Once Microsoft includes it as
part of a VS release and installs it so that it is accessible in the PATH
we will use it.


--
-- Rene Rivera
-- Grafik - Don't Assume Anything
-- Robot Dreams - http://robot-dreams.net
-- rrivera/acm.org (msn) - grafikrobot/aim,yahoo,skype,efnet,gmail

_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: [VS2017][release] vswhere.exe

Boost - Dev mailing list
On 28 March 2017 at 16:34, Rene Rivera via Boost <[hidden email]> wrote:

> On Tue, Mar 28, 2017 at 8:41 AM, Mateusz Loskot via Boost <[hidden email]> wrote:
>>
>> This is regarding issues with locating VS 2017 toolset(s).
>> From CMake ml, I learned about vswhere utility being developed by Microsoft
>>
>> https://github.com/Microsoft/vswhere
>>
>> vswhere.exe (390 KB) is downloadable from
>>
>> https://github.com/Microsoft/vswhere/releases
>
>
> Yes, we are ware of that utility. As we advocated (or rather more like
> pestered) MS to write it.

I see. I couldn't fish anything about from the list archives.

> Unfortunately it didn't make it into the release itself.
> And at least because of license issues I'm not comfortable
> including it in the Boost tree, or install. Once Microsoft includes it as
> part of a VS release and installs it so that it is accessible in the PATH
> we will use it.

Makes sense.

Thanks,
--
Mateusz Loskot, http://mateusz.loskot.net

_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: [VS2017][release] vswhere.exe

Boost - Dev mailing list
In reply to this post by Boost - Dev mailing list
On 28 March 2017 at 08:34, Rene Rivera via Boost <[hidden email]>
wrote:

> And at least because of license issues I'm not comfortable
> including it in the Boost tree, or install.


Why don't you simply ask them, whether it is OK to include vswhere.exe in
the boost distribution? This way you can also ensure that it works with the
boost code as "you" are the one controlling the version of vswhere.exe to
be included.

degski

_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: [VS2017][release] vswhere.exe

Boost - Dev mailing list
On Wed, Mar 29, 2017 at 9:43 AM, degski via Boost <[hidden email]>
wrote:

> On 28 March 2017 at 08:34, Rene Rivera via Boost <[hidden email]>
> wrote:
>
> > And at least because of license issues I'm not comfortable
> > including it in the Boost tree, or install.
>
>
> Why don't you simply ask them, whether it is OK to include vswhere.exe in
> the boost distribution? This way you can also ensure that it works with the
> boost code as "you" are the one controlling the version of vswhere.exe to
> be included.
>
> IANAL, but the https://github.com/Microsoft/vswhere readme is very clear:
"*vswhere* is designed to be a redistributable, single-file executable that
can be used in build or deployment scripts to find where Visual Studio - or
other products in the Visual Studio family - is located."

"redistributable" is the term Microsoft uses elsewhere to describe files
they hold copyright to that are OK for users to redistribute." There really
doesn't seem to me to be any need to check with them, but just to be sure
I'll check with Andrew Pardoe.

--Beman

_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: [VS2017][release] vswhere.exe

Boost - Dev mailing list
On Wed, Mar 29, 2017 at 9:34 AM, Beman Dawes via Boost <
[hidden email]> wrote:

> On Wed, Mar 29, 2017 at 9:43 AM, degski via Boost <[hidden email]>
> wrote:
>
> > On 28 March 2017 at 08:34, Rene Rivera via Boost <[hidden email]>
> > wrote:
> >
> > > And at least because of license issues I'm not comfortable
> > > including it in the Boost tree, or install.
> >
> >
> > Why don't you simply ask them, whether it is OK to include vswhere.exe in
> > the boost distribution? This way you can also ensure that it works with
> the
> > boost code as "you" are the one controlling the version of vswhere.exe to
> > be included.
> >
> > IANAL, but the https://github.com/Microsoft/vswhere readme is very
> clear:
> "*vswhere* is designed to be a redistributable, single-file executable that
> can be used in build or deployment scripts to find where Visual Studio - or
> other products in the Visual Studio family - is located."
>
> "redistributable" is the term Microsoft uses elsewhere to describe files
> they hold copyright to that are OK for users to redistribute." There really
> doesn't seem to me to be any need to check with them, but just to be sure
> I'll check with Andrew Pardoe.
>

The key license issue is that they are using the MIT license. It requires
attribution and license terms with *any* redistribution. Which could cause
problems for people and companies that download Boost and further
redistribute their products. As it's unclear if they should include that
attribution and license in their products as derivatives because they use
Boost as a product.

--
-- Rene Rivera
-- Grafik - Don't Assume Anything
-- Robot Dreams - http://robot-dreams.net
-- rrivera/acm.org (msn) - grafikrobot/aim,yahoo,skype,efnet,gmail

_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: [VS2017][release] vswhere.exe

Boost - Dev mailing list
In reply to this post by Boost - Dev mailing list
On 03/29/17 16:43, degski via Boost wrote:
> On 28 March 2017 at 08:34, Rene Rivera via Boost <[hidden email]>
> wrote:
>
>> And at least because of license issues I'm not comfortable
>> including it in the Boost tree, or install.
>
> Why don't you simply ask them, whether it is OK to include vswhere.exe in
> the boost distribution?

Please, no binaries in source distributions. This removes the
transparency that is expected from such distributions.

Everything that is needed to build Boost from sources should be present
on the developer's machine. If MS fails to provide all required
components for that, the users will have to suffer.


_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: [VS2017][release] vswhere.exe

Boost - Dev mailing list
In reply to this post by Boost - Dev mailing list
On 29 March 2017 at 08:57, Rene Rivera via Boost <[hidden email]>
wrote:

> It requires attribution and license terms with *any* redistribution.


 C:\Users\User>vswhere
Visual Studio Locator, version 1.0.58
Copyright (C) Microsoft Corporation. All rights reserved.

The attribution is built-in AFAICS.

degski

_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: [VS2017][release] vswhere.exe

Boost - Dev mailing list
On 29 March 2017 at 17:23, degski via Boost <[hidden email]> wrote:

> On 29 March 2017 at 08:57, Rene Rivera via Boost <[hidden email]>
> wrote:
>
> > It requires attribution and license terms with *any* redistribution.
>
>
>  C:\Users\User>vswhere
> Visual Studio Locator, version 1.0.58
> Copyright (C) Microsoft Corporation. All rights reserved.
>
> The attribution is built-in AFAICS.
>
>
Note however that it should be used only once VS2017 is installed:

C:\Users\me>vswhere
'vswhere' is not recognized as an internal or external command,
operable program or batch file.


This is because I don't have VS2017 installed yet on this computer, but I
have VS2013 and VS2015.
Some kind of conditional is necssary about the availability of vswhere.


> degski
>
> _______________________________________________
> Unsubscribe & other changes: http://lists.boost.org/
> mailman/listinfo.cgi/boost
>

_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: [VS2017][release] vswhere.exe

Boost - Dev mailing list
On 30 March 2017 at 16:05, Klaim - Joël Lamotte via Boost
<[hidden email]> wrote:

> On 29 March 2017 at 17:23, degski via Boost <[hidden email]> wrote:
>
>> On 29 March 2017 at 08:57, Rene Rivera via Boost <[hidden email]>
>> wrote:
>>
>> > It requires attribution and license terms with *any* redistribution.
>>
>>
>>  C:\Users\User>vswhere
>> Visual Studio Locator, version 1.0.58
>> Copyright (C) Microsoft Corporation. All rights reserved.
>>
>> The attribution is built-in AFAICS.
>>
>>
> Note however that it should be used only once VS2017 is installed:
>
> C:\Users\me>vswhere
> 'vswhere' is not recognized as an internal or external command,
> operable program or batch file.

The utility is not deployed by any VS installer.
You need to download it separately, from GitHub.

Best regards,
--
Mateusz Loskot, http://mateusz.loskot.net

_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: [VS2017][release] vswhere.exe

Boost - Dev mailing list
On 30 March 2017 at 16:56, Mateusz Loskot via Boost <[hidden email]>
wrote:

> On 30 March 2017 at 16:05, Klaim - Joël Lamotte via Boost
> <[hidden email]> wrote:
> > On 29 March 2017 at 17:23, degski via Boost <[hidden email]>
> wrote:
> >
> >> On 29 March 2017 at 08:57, Rene Rivera via Boost <[hidden email]
> >
> >> wrote:
> >>
> >> > It requires attribution and license terms with *any* redistribution.
> >>
> >>
> >>  C:\Users\User>vswhere
> >> Visual Studio Locator, version 1.0.58
> >> Copyright (C) Microsoft Corporation. All rights reserved.
> >>
> >> The attribution is built-in AFAICS.
> >>
> >>
> > Note however that it should be used only once VS2017 is installed:
> >
> > C:\Users\me>vswhere
> > 'vswhere' is not recognized as an internal or external command,
> > operable program or batch file.
>
> The utility is not deployed by any VS installer.
> You need to download it separately, from GitHub.
>
>
Oh ok I thought it was part of the recent update.


> Best regards,
> --
> Mateusz Loskot, http://mateusz.loskot.net
>
> _______________________________________________
> Unsubscribe & other changes: http://lists.boost.org/
> mailman/listinfo.cgi/boost
>

_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: [VS2017][release] vswhere.exe

Glen Fernandes
In reply to this post by Boost - Dev mailing list
Mateusz wrote:
> The utility is not deployed by any VS installer.
> You need to download it separately, from GitHub.

I hope that does not mean the Boost release itself would have to contain a Windows executable for the purpose of finding VS.

Maybe by the next release the problem that would need solving isn't "How to find VS on a user's machine" but instead "How to find vswhere.exe on a user's machine".

I wonder if the suggested solution[1] to that problem would also involve iterating through drive letters A through Z...

Glen

[1] http://lists.boost.org/Archives/boost/2017/02/232843.php 

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: [VS2017][release] vswhere.exe

Boost - Dev mailing list
On Thu, Mar 30, 2017 at 10:20 AM, Glen Fernandes via Boost <
[hidden email]> wrote:

> Mateusz wrote:
> > The utility is not deployed by any VS installer.
> > You need to download it separately, from GitHub.
>
> I hope that does not mean the Boost release itself would have to contain a
> Windows executable for the purpose of finding VS.
>

That is the general recommendation from Microsoft.


> Maybe by the next release the problem that would need solving isn't "How to
> find VS on a user's machine" but instead "How to find vswhere.exe on a
> user's machine".
>
> I wonder if the suggested solution[1] to that problem would also involve
> iterating through drive letters A through Z...
>

Haha.. Indeed.. I would only hope that they install it someplace in the
PATH. But given the track record so far on this I guess that's a vain hope.

One of the suggestions to Microsoft I made is that they should install it
as an OS update <https://github.com/Microsoft/vswhere/issues/41>.


--
-- Rene Rivera
-- Grafik - Don't Assume Anything
-- Robot Dreams - http://robot-dreams.net
-- rrivera/acm.org (msn) - grafikrobot/aim,yahoo,skype,efnet,gmail

_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: [VS2017][release] vswhere.exe

Boost - Dev mailing list
On 03/30/17 18:46, Rene Rivera via Boost wrote:

> On Thu, Mar 30, 2017 at 10:20 AM, Glen Fernandes via Boost <
> [hidden email]> wrote:
>
>> Mateusz wrote:
>>> The utility is not deployed by any VS installer.
>>> You need to download it separately, from GitHub.
>>
>> I hope that does not mean the Boost release itself would have to contain a
>> Windows executable for the purpose of finding VS.
>
> That is the general recommendation from Microsoft.

IMO, requiring a BLOB executable in a source distribution is
unacceptable (regardless of the license of the BLOB). This compromises
distribution transparency and may affect its review and certification,
if one is performed by Boost users. This also raises a security issue
since the executable may be compromised and contain malware.

I consider vswhere a part of the toolchain. We do not distribute
toolchains in our releases, and we should not make an exception for
MSVC. If MS cannot supply this tool in VS installers or as an OS update,
and we still want to use it, make it a precondition for the users to
install first and add a link to the Getting Started page. But please,
don't put BLOBs into the source distributions.


_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: [VS2017][release] vswhere.exe

Boost - Dev mailing list
On Thu, Mar 30, 2017 at 07:44:30PM +0300, Andrey Semashev via Boost wrote:

> I consider vswhere a part of the toolchain. We do not distribute toolchains
> in our releases, and we should not make an exception for MSVC. If MS cannot
> supply this tool in VS installers or as an OS update, and we still want to
> use it, make it a precondition for the users to install first and add a link
> to the Getting Started page. But please, don't put BLOBs into the source
> distributions.

Seconded!  Agree completely.

Note that downstream distributions, like Debian linux, will often
"re-package" the source distribution to remove such files, so it
adds a little bit of effort to the distributors.

-Steve



_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost

signature.asc (849 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: [VS2017][release] vswhere.exe

Boost - Dev mailing list
In reply to this post by Boost - Dev mailing list


> -----Original Message-----
> From: Boost [mailto:[hidden email]] On Behalf Of Andrey Semashev via Boost
> Sent: 30 March 2017 17:45
> To: [hidden email]
> Cc: Andrey Semashev
> Subject: Re: [boost] [VS2017][release] vswhere.exe
>
> On 03/30/17 18:46, Rene Rivera via Boost wrote:
> > On Thu, Mar 30, 2017 at 10:20 AM, Glen Fernandes via Boost <
> > [hidden email]> wrote:
> >
> >> Mateusz wrote:
> >>> The utility is not deployed by any VS installer.
> >>> You need to download it separately, from GitHub.
> >>
> >> I hope that does not mean the Boost release itself would have to contain a
> >> Windows executable for the purpose of finding VS.
> >
> > That is the general recommendation from Microsoft.
>
> IMO, requiring a BLOB executable in a source distribution is
> unacceptable (regardless of the license of the BLOB). This compromises
> distribution transparency and may affect its review and certification,
> if one is performed by Boost users. This also raises a security issue
> since the executable may be compromised and contain malware.
>
> I consider vswhere a part of the toolchain. We do not distribute
> toolchains in our releases, and we should not make an exception for
> MSVC. If MS cannot supply this tool in VS installers or as an OS update,
> and we still want to use it, make it a precondition for the users to
> install first and add a link to the Getting Started page. But please,
> don't put BLOBs into the source distributions.

+1

(Perhaps install process can assume that, if needed, vswhere.exe exists and in PATH.

But if not found then produce an error message telling the user where and how to install it in order to proceed).

Paul

---
Paul A. Bristow
Prizet Farmhouse
Kendal UK LA8 8AB
+44 (0) 1539 561830





_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: [VS2017][release] vswhere.exe

Boost - Dev mailing list
On 4 April 2017 at 10:59, Paul A. Bristow via Boost
<[hidden email]> wrote:

>> -----Original Message-----
>> From: Boost [mailto:[hidden email]] On Behalf Of Andrey Semashev via Boost
>> Sent: 30 March 2017 17:45
>> To: [hidden email]
>> Cc: Andrey Semashev
>> Subject: Re: [boost] [VS2017][release] vswhere.exe
>>
>> On 03/30/17 18:46, Rene Rivera via Boost wrote:
>> > On Thu, Mar 30, 2017 at 10:20 AM, Glen Fernandes via Boost <
>> > [hidden email]> wrote:
>> >
>> >> Mateusz wrote:
>> >>> The utility is not deployed by any VS installer.
>> >>> You need to download it separately, from GitHub.
>> >>
>> >> I hope that does not mean the Boost release itself would have to contain a
>> >> Windows executable for the purpose of finding VS.
>> >
>> > That is the general recommendation from Microsoft.
>>
>> IMO, requiring a BLOB executable in a source distribution is
>> unacceptable (regardless of the license of the BLOB). This compromises
>> distribution transparency and may affect its review and certification,
>> if one is performed by Boost users. This also raises a security issue
>> since the executable may be compromised and contain malware.
>>
>> I consider vswhere a part of the toolchain. We do not distribute
>> toolchains in our releases, and we should not make an exception for
>> MSVC. If MS cannot supply this tool in VS installers or as an OS update,
>> and we still want to use it, make it a precondition for the users to
>> install first and add a link to the Getting Started page. But please,
>> don't put BLOBs into the source distributions.
>
> +1
>
> (Perhaps install process can assume that, if needed, vswhere.exe exists and in PATH.
>
> But if not found then produce an error message telling the user where and how to install it in order to proceed).

+1 Andrey's idea is very good

Best regards,
--
Mateusz Loskot, http://mateusz.loskot.net

_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: [VS2017][release] vswhere.exe

Boost - Dev mailing list
On Tue, Apr 4, 2017 at 4:09 AM, Mateusz Loskot via Boost <
[hidden email]> wrote:

> On 4 April 2017 at 10:59, Paul A. Bristow via Boost
> <[hidden email]> wrote:
> >> -----Original Message-----
> >> From: Boost [mailto:[hidden email]] On Behalf Of Andrey
> Semashev via Boost
> >> Sent: 30 March 2017 17:45
> >> To: [hidden email]
> >> Cc: Andrey Semashev
> >> Subject: Re: [boost] [VS2017][release] vswhere.exe
> >>
> >> On 03/30/17 18:46, Rene Rivera via Boost wrote:
> >> > On Thu, Mar 30, 2017 at 10:20 AM, Glen Fernandes via Boost <
> >> > [hidden email]> wrote:
> >> >
> >> >> Mateusz wrote:
> >> >>> The utility is not deployed by any VS installer.
> >> >>> You need to download it separately, from GitHub.
> >> >>
> >> >> I hope that does not mean the Boost release itself would have to
> contain a
> >> >> Windows executable for the purpose of finding VS.
> >> >
> >> > That is the general recommendation from Microsoft.
> >>
> >> IMO, requiring a BLOB executable in a source distribution is
> >> unacceptable (regardless of the license of the BLOB). This compromises
> >> distribution transparency and may affect its review and certification,
> >> if one is performed by Boost users. This also raises a security issue
> >> since the executable may be compromised and contain malware.
> >>
> >> I consider vswhere a part of the toolchain. We do not distribute
> >> toolchains in our releases, and we should not make an exception for
> >> MSVC. If MS cannot supply this tool in VS installers or as an OS update,
> >> and we still want to use it, make it a precondition for the users to
> >> install first and add a link to the Getting Started page. But please,
> >> don't put BLOBs into the source distributions.
> >
> > +1
> >
> > (Perhaps install process can assume that, if needed, vswhere.exe exists
> and in PATH.
> >
> > But if not found then produce an error message telling the user where
> and how to install it in order to proceed).
>
> +1 Andrey's idea is very good
>

Given the choices:

* Brittle BAT+Powershell+C#  detection script dance.
* Including vswhere in distribution.
* Requiring vswhere preinstall (either by user or OS or VS2017).

I'd also prefer for the last one. And it's essentially what I'm been
pushing Microsoft to do for weeks now.


--
-- Rene Rivera
-- Grafik - Don't Assume Anything
-- Robot Dreams - http://robot-dreams.net
-- rrivera/acm.org (msn) - grafikrobot/aim,yahoo,skype,efnet,gmail

_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: [VS2017][release] vswhere.exe

Boost - Dev mailing list
On Tue, Apr 4, 2017 at 9:34 AM, Rene Rivera <[hidden email]> wrote:

>
> On Tue, Apr 4, 2017 at 4:09 AM, Mateusz Loskot via Boost <
> [hidden email]> wrote:
>
>> On 4 April 2017 at 10:59, Paul A. Bristow via Boost
>> <[hidden email]> wrote:
>> >> -----Original Message-----
>> >> From: Boost [mailto:[hidden email]] On Behalf Of
>> Andrey Semashev via Boost
>> >> Sent: 30 March 2017 17:45
>> >> To: [hidden email]
>> >> Cc: Andrey Semashev
>> >> Subject: Re: [boost] [VS2017][release] vswhere.exe
>> >>
>> >> On 03/30/17 18:46, Rene Rivera via Boost wrote:
>> >> > On Thu, Mar 30, 2017 at 10:20 AM, Glen Fernandes via Boost <
>> >> > [hidden email]> wrote:
>> >> >
>> >> >> Mateusz wrote:
>> >> >>> The utility is not deployed by any VS installer.
>> >> >>> You need to download it separately, from GitHub.
>> >> >>
>> >> >> I hope that does not mean the Boost release itself would have to
>> contain a
>> >> >> Windows executable for the purpose of finding VS.
>> >> >
>> >> > That is the general recommendation from Microsoft.
>> >>
>> >> IMO, requiring a BLOB executable in a source distribution is
>> >> unacceptable (regardless of the license of the BLOB). This compromises
>> >> distribution transparency and may affect its review and certification,
>> >> if one is performed by Boost users. This also raises a security issue
>> >> since the executable may be compromised and contain malware.
>> >>
>> >> I consider vswhere a part of the toolchain. We do not distribute
>> >> toolchains in our releases, and we should not make an exception for
>> >> MSVC. If MS cannot supply this tool in VS installers or as an OS
>> update,
>> >> and we still want to use it, make it a precondition for the users to
>> >> install first and add a link to the Getting Started page. But please,
>> >> don't put BLOBs into the source distributions.
>> >
>> > +1
>> >
>> > (Perhaps install process can assume that, if needed, vswhere.exe exists
>> and in PATH.
>> >
>> > But if not found then produce an error message telling the user where
>> and how to install it in order to proceed).
>>
>> +1 Andrey's idea is very good
>>
>
> Given the choices:
>
> * Brittle BAT+Powershell+C#  detection script dance.
> * Including vswhere in distribution.
> * Requiring vswhere preinstall (either by user or OS or VS2017).
>
> I'd also prefer for the last one. And it's essentially what I'm been
> pushing Microsoft to do for weeks now.
>

Scratch that.. I've now tried to make build changes to use the vswhere
tool. And it's useless. It has too many bugs. It tells you nothing about
specific msvc installs (ie cl.exe). It only tells you about the overall
VS2017 install. As far as I can tell, when one install multiple cl.exe-s
(as will be possible in some mythical future according to Microsoft) it
will not tell you about them individually. You still have to put it the
logic for guessing the individual versions by navigating the filesystem.
And if we are going to ask users to install this thing it's not worth it.
My recommendation...

We just ask users to run the bootstrap/build from the VS command prompt
which defines VS150COMNTOOLS. That way we can use the existing logic we
have for that. And the user doesn't have to install mystery executables.
When Microsoft fixes this mess we can support their fix.

Thoughts?


--
-- Rene Rivera
-- Grafik - Don't Assume Anything
-- Robot Dreams - http://robot-dreams.net
-- rrivera/acm.org (msn) - grafikrobot/aim,yahoo,skype,efnet,gmail

_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: [VS2017][release] vswhere.exe

Marcel Raad
Boost - Dev mailing list wrote
My recommendation...

We just ask users to run the bootstrap/build from the VS command prompt
which defines VS150COMNTOOLS. [...]

Thoughts?
+1, that's how I've always built Boost.

Marcel
12
Loading...