Skip to content

Commit fee756a

Browse files
authored
Merge pull request #2 from Microsoft/develop
Merge release from develop to master
2 parents 9bb79ab + da42206 commit fee756a

48 files changed

Lines changed: 2489 additions & 517 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.nuget/packages.config

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<packages>
3+
<package id="NuProj" version="0.11.14-beta" />
4+
</packages>

CONTRIBUTING.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
Contributing
2+
============
3+
4+
## Prerequisites
5+
6+
This project uses the following software. Newer versions may work but backward compatibility must be maintained.
7+
8+
* [Visual Studio 2015](https://www.visualstudio.com/en-us/downloads/visual-studio-2015-downloads-vs.aspx)
9+
10+
### Optional
11+
12+
Some projects require optional software to open or otherwise use in Visual Studio. They are not required to build the solution using MSBuild.
13+
14+
* [NuProj Package Project](https://marketplace.visualstudio.com/items?itemName=NuProjTeam.NuGetPackageProject)

README.md

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
VSIX Installer Bootstrapper
2+
===========================
3+
4+
One of the great new features of Visual Studio 2017 is an initial smaller and fast install. To compliment a smaller - but powerful - initial feature set, installing additional workloads and components on-demand is supported for both end users and package developers.
5+
6+
Package developers can install their VSIX extensions for Visual Studio using this bootstrapper to find the latest version of _VSIXInstaller.exe_ and install their extension(s). This may be preferable for extensions that support Visual Studio 2017 or newer than installing extensions in Windows Installer _.msi_ packages, since MSIs cannot run concurrently in separate processes.
7+
8+
Other deployments may also benefit since they no longer have to find where _VSIXInstaller.exe_ is installed. The command line passed to _VSIXBootstrapper.exe_ is passed through to _VSIXInstaller.exe_.
9+
10+
## Authoring
11+
12+
An example using [WiX][] authoring to include a _.vsix_ package in the Burn chain itself.
13+
14+
```xml
15+
<Bundle>
16+
<Chain>
17+
<ExePackage
18+
Id="MyVSIX"
19+
Name="packages\VSIXBootstrapper.exe"
20+
PerMachine="yes"
21+
InstallCommand="/q /admin /logFile:&quot;[WixBundleLog_MyVSIX]&quot; &quot;[WixBundleOriginalSource]\packages\MyVSIX.vsix&quot;"
22+
UninstallCommand="/q /admin /logFile:&quot;[WixBundleLog_MyVSIX]&quot; /u:MyVSIX"
23+
>
24+
<PayloadGroupRef Id="MyVSIX"/>
25+
</ExePackage>
26+
</Chain>
27+
<PayloadGroup Id="VSIXBootstrapper">
28+
<Payload
29+
SourceFile="packages\VSIXBootstrapper.exe"
30+
Compressed="yes"
31+
/>
32+
</PayloadGroup>
33+
<PayloadGroup Id="MyVSIX">
34+
<PayloadGroupRef Id="VSIXBootstrapper"/>
35+
<Payload
36+
SourceFile="packages\MyVSIX.vsix"
37+
Compressed="yes"
38+
/>
39+
</PayloadGroup>
40+
</Bundle>
41+
```
42+
43+
Here both _VSIXBootstrapper.exe_ and _MyVSIX.vsix_ (with extension ID "MyVSIX") are compressed in the attached bundle container. Separate `PayloadGroup` elements were used so that you can share _VSIXBootstrapper.exe_ for multiple extensions. You could also specify the `DownloadUrl` attribute instead of compressing these to support web downloads and layouts.
44+
45+
For more examples, please see the [Wiki][].
46+
47+
## Feedback
48+
49+
To file issues or suggestions, please use the [Issues][] page for this project on GitHub.
50+
51+
## License
52+
53+
This project is licensed under the [MIT license](LICENSE.txt).
54+
55+
## Status
56+
57+
This project uses a Git flow model releasing from the `master` branch with development based on and stabilize in the `develop` branch.
58+
59+
Branch | AppVeyor | VSTS
60+
------ | ------ | -------
61+
master | [![build status: master](https://ci.appveyor.com/api/projects/status/8kj7280gctbttf3b/branch/master?svg=true)](https://ci.appveyor.com/project/heaths/vsixbootstrapper/branch/master) | ![build status: master](https://devdiv.visualstudio.com/_apis/public/build/definitions/0bdbc590-a062-4c3f-b0f6-9383f67865ee/5260/badge)
62+
develop | [![build status: develop](https://ci.appveyor.com/api/projects/status/8kj7280gctbttf3b/branch/develop?svg=true)](https://ci.appveyor.com/project/heaths/vsixbootstrapper/branch/develop)
63+
64+
[issues]: https://github.com/Microsoft/vsixbootstrapper/issues
65+
[wiki]: https://github.com/Microsoft/vsixbootstrapper/wiki
66+
[wix]: http://wixtoolset.org

VSIXBootstrapper.sln

Lines changed: 30 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,35 @@
11

22
Microsoft Visual Studio Solution File, Format Version 12.00
3-
# Visual Studio 15
4-
VisualStudioVersion = 15.0.26120.4
3+
# Visual Studio 14
4+
VisualStudioVersion = 14.0.25420.1
55
MinimumVisualStudioVersion = 10.0.40219.1
66
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "VSIXBootstrapper", "src\VSIXBootstrapper\VSIXBootstrapper.vcxproj", "{22FFC1AB-F3E2-4379-B26E-67D67E2A1067}"
77
EndProject
88
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{3A5D9917-703F-4280-81ED-F2E2BA648CB8}"
99
EndProject
1010
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{168CF38F-E3C9-43E1-BEC9-101BC97E926F}"
1111
ProjectSection(SolutionItems) = preProject
12+
CONTRIBUTING.md = CONTRIBUTING.md
1213
LICENSE.txt = LICENSE.txt
14+
README.md = README.md
1315
EndProjectSection
1416
EndProject
17+
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "pkg", "pkg", "{8EB71D2B-70CF-418B-9EE8-9B3BE2EE2D9B}"
18+
EndProject
19+
Project("{FF286327-C783-4F7A-AB73-9BCBAD0D4460}") = "VSIXBootstrapper", "pkg\VSIXBootstrapper\VSIXBootstrapper.nuproj", "{8704FCB5-C4CA-4015-81AA-6B3AA577B3FB}"
20+
EndProject
21+
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "VSIXBootstrapper.Shared", "src\VSIXBootstrapper.Shared\VSIXBootstrapper.Shared.vcxitems", "{2A3EA4C8-207C-4AB4-A74F-4640A529767E}"
22+
EndProject
23+
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{79F3BEAF-FBD2-4E77-8A47-CA8D12A478F4}"
24+
EndProject
25+
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "VSIXBootstrapper.Test", "test\VSIXBootstrapper.Test\VSIXBootstrapper.Test.vcxproj", "{EEADDAC3-DDD5-4A28-BB13-B3B76682C1E1}"
26+
EndProject
1527
Global
28+
GlobalSection(SharedMSBuildProjectFiles) = preSolution
29+
src\VSIXBootstrapper.Shared\VSIXBootstrapper.Shared.vcxitems*{22ffc1ab-f3e2-4379-b26e-67d67e2a1067}*SharedItemsImports = 4
30+
src\VSIXBootstrapper.Shared\VSIXBootstrapper.Shared.vcxitems*{2a3ea4c8-207c-4ab4-a74f-4640a529767e}*SharedItemsImports = 9
31+
src\VSIXBootstrapper.Shared\VSIXBootstrapper.Shared.vcxitems*{eeaddac3-ddd5-4a28-bb13-b3b76682c1e1}*SharedItemsImports = 4
32+
EndGlobalSection
1633
GlobalSection(SolutionConfigurationPlatforms) = preSolution
1734
Debug|x86 = Debug|x86
1835
Release|x86 = Release|x86
@@ -22,11 +39,22 @@ Global
2239
{22FFC1AB-F3E2-4379-B26E-67D67E2A1067}.Debug|x86.Build.0 = Debug|Win32
2340
{22FFC1AB-F3E2-4379-B26E-67D67E2A1067}.Release|x86.ActiveCfg = Release|Win32
2441
{22FFC1AB-F3E2-4379-B26E-67D67E2A1067}.Release|x86.Build.0 = Release|Win32
42+
{8704FCB5-C4CA-4015-81AA-6B3AA577B3FB}.Debug|x86.ActiveCfg = Debug|Any CPU
43+
{8704FCB5-C4CA-4015-81AA-6B3AA577B3FB}.Debug|x86.Build.0 = Debug|Any CPU
44+
{8704FCB5-C4CA-4015-81AA-6B3AA577B3FB}.Release|x86.ActiveCfg = Release|Any CPU
45+
{8704FCB5-C4CA-4015-81AA-6B3AA577B3FB}.Release|x86.Build.0 = Release|Any CPU
46+
{EEADDAC3-DDD5-4A28-BB13-B3B76682C1E1}.Debug|x86.ActiveCfg = Debug|Win32
47+
{EEADDAC3-DDD5-4A28-BB13-B3B76682C1E1}.Debug|x86.Build.0 = Debug|Win32
48+
{EEADDAC3-DDD5-4A28-BB13-B3B76682C1E1}.Release|x86.ActiveCfg = Release|Win32
49+
{EEADDAC3-DDD5-4A28-BB13-B3B76682C1E1}.Release|x86.Build.0 = Release|Win32
2550
EndGlobalSection
2651
GlobalSection(SolutionProperties) = preSolution
2752
HideSolutionNode = FALSE
2853
EndGlobalSection
2954
GlobalSection(NestedProjects) = preSolution
3055
{22FFC1AB-F3E2-4379-B26E-67D67E2A1067} = {3A5D9917-703F-4280-81ED-F2E2BA648CB8}
56+
{8704FCB5-C4CA-4015-81AA-6B3AA577B3FB} = {8EB71D2B-70CF-418B-9EE8-9B3BE2EE2D9B}
57+
{2A3EA4C8-207C-4AB4-A74F-4640A529767E} = {3A5D9917-703F-4280-81ED-F2E2BA648CB8}
58+
{EEADDAC3-DDD5-4A28-BB13-B3B76682C1E1} = {79F3BEAF-FBD2-4E77-8A47-CA8D12A478F4}
3159
EndGlobalSection
3260
EndGlobal

appveyor.yml

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
configuration:
2+
- Debug
3+
- Release
4+
5+
environment:
6+
TreatWarningsAsErrors: true
7+
8+
branches:
9+
only:
10+
- master
11+
- develop
12+
13+
skip_tags: true
14+
15+
notifications:
16+
- provider: GitHubPullRequest
17+
on_build_success: true
18+
on_build_failure: true
19+
20+
cache:
21+
- packages -> **\packages.config
22+
23+
before_build:
24+
- nuget restore
25+
26+
test:
27+
assemblies:
28+
- '**\bin\$(configuration)\*.test.dll'
29+
30+
artifacts:
31+
- path: bin\$(configuration)
32+
type: zip
33+
34+
# vim: set ai et st=2 sts=2 sw=2:

inc/Common.Cpp.props

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3+
<ImportGroup Label="PropertySheets" />
4+
<PropertyGroup Label="UserMacros" />
5+
<ItemDefinitionGroup>
6+
<Link>
7+
<AdditionalDependencies>shell32.lib;%(AdditionalDependencies)</AdditionalDependencies>
8+
</Link>
9+
</ItemDefinitionGroup>
10+
<ItemGroup />
11+
</Project>

inc/Common.Cpp.targets

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,8 @@
2323
<_VersionInfoFile>$(IntermediateOutputPath)VersionInfo.h</_VersionInfoFile>
2424
</PropertyGroup>
2525
<Message Text="Generating header &quot;$(_VersionInfoFile)&quot;."/>
26+
<Message Text="File version: $(FileVersion)"/>
27+
<Message Text="Product version: $(PackageVersion)"/>
2628
<ItemGroup>
2729
<_VersionInfoFile Include="$(_VersionInfoFile)"/>
2830
<_VersionInfoLines Include="

inc/Common.props

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,9 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3-
<ImportGroup Label="PropertySheets" />
4-
<PropertyGroup Label="UserMacros" />
53
<PropertyGroup>
4+
<Configuration Condition="'$(Configuration)'==''">Debug</Configuration>
5+
<SolutionDir Condition="'$(SolutionDir)'=='' Or '$(SolutionDir)'=='*Undefined*'">$([System.IO.Path]::GetFullPath('$(MSBuildThisFileDirectory)..'))</SolutionDir>
6+
<SolutionDir Condition="!HasTrailingSlash('$(SolutionDir)')">$(SolutionDir)\</SolutionDir>
67
<OutDir>$(SolutionDir)bin\$(Configuration)\</OutDir>
78
</PropertyGroup>
8-
<ItemDefinitionGroup>
9-
<Link>
10-
<AdditionalDependencies>shell32.lib;%(AdditionalDependencies)</AdditionalDependencies>
11-
</Link>
12-
</ItemDefinitionGroup>
13-
<ItemGroup />
14-
</Project>
9+
</Project>
Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3+
<ItemGroup Label="ProjectConfigurations">
4+
<ProjectConfiguration Include="Debug|AnyCPU">
5+
<Configuration>Debug</Configuration>
6+
<Platform>AnyCPU</Platform>
7+
</ProjectConfiguration>
8+
<ProjectConfiguration Include="Release|AnyCPU">
9+
<Configuration>Release</Configuration>
10+
<Platform>AnyCPU</Platform>
11+
</ProjectConfiguration>
12+
</ItemGroup>
13+
<ItemGroup>
14+
<ProjectReference Include="..\..\src\VSIXBootstrapper\VSIXBootstrapper.vcxproj">
15+
<PackageDirectory>Tools</PackageDirectory>
16+
</ProjectReference>
17+
</ItemGroup>
18+
<ItemGroup>
19+
<Content Include="build\VSIXBootstrapper.props" />
20+
<None Include="packages.config" />
21+
</ItemGroup>
22+
<PropertyGroup Label="Globals">
23+
<ProjectGuid>8704fcb5-c4ca-4015-81aa-6b3aa577b3fb</ProjectGuid>
24+
</PropertyGroup>
25+
<Import Project="..\..\inc\Common.props" />
26+
<PropertyGroup>
27+
<NuProjPath Condition="Exists('$(SolutionDir)packages\NuProj.0.11.14-beta\tools\')">$(SolutionDir)packages\NuProj.0.11.14-beta\tools\</NuProjPath>
28+
<NuProjPath Condition=" '$(NuProjPath)' == '' ">$(MSBuildExtensionsPath)\NuProj\</NuProjPath>
29+
<VersionDependsOn>$(VersionDependsOn);GetNuPkgVersion</VersionDependsOn>
30+
</PropertyGroup>
31+
<Import Project="$(NuProjPath)\NuProj.props" Condition="Exists('$(NuProjPath)\NuProj.props')" />
32+
<PropertyGroup Label="Configuration">
33+
<Id>VSIXBootstrapper</Id>
34+
<Version>1.0.0</Version>
35+
<Title>VSIX Installer Bootstrapper</Title>
36+
<Authors>Microsoft Corporation</Authors>
37+
<Owners>Microsoft Corporation</Owners>
38+
<Summary>VSIX Installer Bootstrapper</Summary>
39+
<Description>An installer that can be chained with other packages to locate the latest VSIXInstaller.exe to use for installing VSIX extensions.</Description>
40+
<ReleaseNotes>
41+
</ReleaseNotes>
42+
<ProjectUrl>https://github.com/Microsoft/vsixbootstrapper</ProjectUrl>
43+
<LicenseUrl>https://github.com/Microsoft/vsixbootstrapper/raw/develop/LICENSE.txt</LicenseUrl>
44+
<Copyright>Copyright (C) Microsoft Corporation. All rights reserved.</Copyright>
45+
<Tags>VisualStudio VSIX Installer</Tags>
46+
<DevelopmentDependency>true</DevelopmentDependency>
47+
</PropertyGroup>
48+
<Target Name="GetNuPkgVersion" DependsOnTargets="GetBuildVersion">
49+
<PropertyGroup>
50+
<Version>$(NuGetPackageVersion)</Version>
51+
</PropertyGroup>
52+
</Target>
53+
<Import Project="$(NuProjPath)\NuProj.targets" />
54+
<ImportGroup Label="ExtensionTargets">
55+
<Import Project="..\..\packages\Nerdbank.GitVersioning.1.5.62\build\NerdBank.GitVersioning.targets" Condition="Exists('..\..\packages\Nerdbank.GitVersioning.1.5.62\build\NerdBank.GitVersioning.targets')" />
56+
</ImportGroup>
57+
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
58+
<PropertyGroup>
59+
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
60+
</PropertyGroup>
61+
<Error Condition="!Exists('..\..\packages\Nerdbank.GitVersioning.1.5.62\build\NerdBank.GitVersioning.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\Nerdbank.GitVersioning.1.5.62\build\NerdBank.GitVersioning.targets'))" />
62+
</Target>
63+
</Project>
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3+
<PropertyGroup>
4+
<VSIXBootstrapperDir>$(MSBuildThisFileDirectory)..\tools\</VSIXBootstrapperDir>
5+
</PropertyGroup>
6+
<ItemGroup>
7+
<Content Include="$(VSIXBootstrapperDir)VSIXBootstrapper.exe">
8+
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
9+
<Link>VSIXBootstrapper.exe</Link>
10+
</Content>
11+
</ItemGroup>
12+
</Project>

0 commit comments

Comments
 (0)