On 22/11/2013 02:20, Hans Wennborg wrote:
On Thu, Nov 21, 2013 at 5:55 PM, Alp Toker <[email protected]> wrote:
Hi Hans,

Impressed that you've coaxed cmake into building and bundling the VS
package..
It's not exactly my proudest moment, but it seems to work ;)

However not so convinced it's the right deployment model:

1) The installer gets copied into Program Files -- then what? Does the user
have look for and install it separately, or is it the site administrator's
job?
We could have the installer run it when it copies in the files for the
MSBuild integration. Or the user could install it manually - I'm kind
of torn about this.

When the main uninstaller is run, does the extension get left behind?
That's definitely an issue. If we teach install.bat to install the
extension, uninstall.bat should remove it. From what I understand, the
way to do this is to find vsxinstaller.exe and run that with
/uninstall.

Another data point: According to the VSIX Deployment guide, extensions usually install per-user, whereas LLVM tends to get installed system-wide by default.

(The more I read through that page, the more I get the impression a balancing act with CPack/nsis isn't going to work out.)


If the main LLVM install is upgraded, what happens the the extension, and
which clang-format.exe version will it end up calling into post-upgrade?
The new installer would presumably install the new extension too.

But note that the clang-format extension is just a thing that calls
clang-format in the LLVM installation dir. It doesn't contain a copy
of clang-format itself, so it will always just call what's installed.

2) The target audiences are fairly distinct. Most clang-format Visual Studio
extension users likely don't want or need an LLVM installation. This is the
crowd who'd benefit most from a single click installation on the download
page that works the same way as other VS extensions.

Wouldn't it make more sense to offer the Visual Studio extension as a
separate download?
If we want to support that, we should bake clang-format into the
extension itself.

That sounds much better. Redacted from VSIX Best Practices:

 * Distribute your whole product in one independent VSIX if you can.
 * If you ship more than one VSIX, and they share common assemblies,
   copy the common assemblies into each separate VSIX.

The technique for bundling resources should work with clang-format.exe:

  http://msdn.microsoft.com/en-us/library/vstudio/ff363239.aspx

Alp.

--
http://www.nuanti.com
the browser experts

_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to