diff options
| author | Rob Mensching <rob@firegiant.com> | 2018-08-11 01:12:28 -0700 |
|---|---|---|
| committer | Rob Mensching <rob@firegiant.com> | 2018-08-11 01:12:28 -0700 |
| commit | f34941825894d44059a560d9f95016ac97803504 (patch) | |
| tree | 2d81fa80cefb53d8a41b335679196d046baff292 /src/WixToolset.BuildTasks | |
| parent | c7d69b36789b6403f5b02a975afad80f6b23b48b (diff) | |
| download | wix-f34941825894d44059a560d9f95016ac97803504.tar.gz wix-f34941825894d44059a560d9f95016ac97803504.tar.bz2 wix-f34941825894d44059a560d9f95016ac97803504.zip | |
Fix Build and Clean targets
Diffstat (limited to 'src/WixToolset.BuildTasks')
| -rw-r--r-- | src/WixToolset.BuildTasks/wix.signing.targets | 126 | ||||
| -rw-r--r-- | src/WixToolset.BuildTasks/wix.targets | 126 |
2 files changed, 107 insertions, 145 deletions
diff --git a/src/WixToolset.BuildTasks/wix.signing.targets b/src/WixToolset.BuildTasks/wix.signing.targets index 6351cc8b..7c25175f 100644 --- a/src/WixToolset.BuildTasks/wix.signing.targets +++ b/src/WixToolset.BuildTasks/wix.signing.targets | |||
| @@ -1,18 +1,15 @@ | |||
| 1 | <?xml version="1.0" encoding="utf-8"?> | 1 | <?xml version="1.0" encoding="utf-8"?> |
| 2 | <!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. --> | 2 | <!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. --> |
| 3 | 3 | ||
| 4 | |||
| 5 | <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | 4 | <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> |
| 6 | |||
| 7 | <!-- These properties can be overridden to support non-default installations. --> | ||
| 8 | <PropertyGroup> | 5 | <PropertyGroup> |
| 9 | <WixTargetsPath Condition=" '$(WixTargetsPath)' == '' ">$(MSBuildThisFileFullPath)</WixTargetsPath> | 6 | <SignedFileName Condition=" '$(SignedFileName)' == '' ">$(MSBuildProjectFile).Signed.txt</SignedFileName> |
| 10 | <WixTasksPath Condition=" '$(WixTasksPath)' == '' ">$(WixTargetsPath)WixTasks.dll</WixTasksPath> | 7 | <SignedFilePath>$(IntermediateOutputPath)$(SignedFileName)</SignedFilePath> |
| 11 | |||
| 12 | <SignedFile Condition=" '$(SignedFile)' == '' ">$(MSBuildProjectFile).Signed.txt</SignedFile> | ||
| 13 | </PropertyGroup> | 8 | </PropertyGroup> |
| 14 | 9 | ||
| 15 | <UsingTask TaskName="Insignia" AssemblyFile="$(WixTasksPath)" /> | 10 | <UsingTask TaskName="Insignia" AssemblyFile="$(WixTasksPath)" /> |
| 11 | <UsingTask TaskName="GetCabList" AssemblyFile="$(WixTasksPath)" /> | ||
| 12 | <UsingTask TaskName="GetLooseFileList" AssemblyFile="$(WixTasksPath)" /> | ||
| 16 | 13 | ||
| 17 | <!-- Default Inscribe properties. --> | 14 | <!-- Default Inscribe properties. --> |
| 18 | <PropertyGroup> | 15 | <PropertyGroup> |
| @@ -51,49 +48,57 @@ | |||
| 51 | </InternalSignDependsOn> | 48 | </InternalSignDependsOn> |
| 52 | 49 | ||
| 53 | <SigningDependsOn> | 50 | <SigningDependsOn> |
| 54 | CompileAndLink; | 51 | WixBuild; |
| 52 | CalculateSignTargetFiles; | ||
| 55 | BeforeSigning; | 53 | BeforeSigning; |
| 56 | $(InternalSignDependsOn); | 54 | $(InternalSignDependsOn); |
| 57 | AfterSigning | 55 | AfterSigning |
| 58 | </SigningDependsOn> | 56 | </SigningDependsOn> |
| 59 | </PropertyGroup> | 57 | </PropertyGroup> |
| 60 | <Target | 58 | <Target |
| 61 | Name="Signing" | 59 | Name="Signing" |
| 62 | DependsOnTargets="$(SigningDependsOn)" | 60 | DependsOnTargets="$(SigningDependsOn)" |
| 63 | Inputs="@(SignTargetPath)" | 61 | Inputs="$(TargetPath)" |
| 64 | Outputs="$(IntermediateOutputPath)$(SignedFile)" | 62 | Outputs="$(SignedFilePath)" |
| 65 | Condition=" '@(SignTargetPath)' != '' "> | 63 | Condition=" '$(SignOutput)' == 'true' "> |
| 66 | 64 | ||
| 67 | <CreateItem Include="$(IntermediateOutputPath)$(SignedFile)"> | 65 | <ItemGroup> |
| 68 | <Output TaskParameter="Include" ItemName="FileWrites" /> | 66 | <FileWrites Include="$(SignedFilePath)" /> |
| 69 | </CreateItem> | 67 | </ItemGroup> |
| 70 | 68 | ||
| 71 | <WriteLinesToFile | 69 | <WriteLinesToFile |
| 72 | File="$(IntermediateOutputPath)$(SignedFile)" | 70 | File="$(SignedFilePath)" |
| 73 | Lines="^$(MSBuildProjectFullPath);@(SignMsm);@(SignCabs);@(SignMsi);@(SignContainers);@(SignBundleEngine);@(SignBundle)" | 71 | Lines="^$(MSBuildProjectFullPath);@(SignMsm);@(SignCabs);@(SignMsi);@(SignContainers);@(SignBundleEngine);@(SignBundle)" |
| 74 | Overwrite="true" /> | 72 | Overwrite="true" /> |
| 75 | </Target> | 73 | </Target> |
| 76 | 74 | ||
| 77 | <!-- Internal targets so correct signing targets are called. --> | 75 | <!-- Internal targets so correct signing targets are called. --> |
| 78 | <Target | 76 | <Target |
| 77 | Name="CalculateSignTargetFiles"> | ||
| 78 | <ItemGroup> | ||
| 79 | <SignTargetPath Include="$(TargetPath)" /> | ||
| 80 | </ItemGroup> | ||
| 81 | </Target> | ||
| 82 | |||
| 83 | <Target | ||
| 79 | Name="GetMsmsToSign" | 84 | Name="GetMsmsToSign" |
| 80 | Inputs="@(SignTargetPath)" | 85 | Inputs="@(SignTargetPath)" |
| 81 | Outputs="$(IntermediateOutputPath)$(SignedFile)"> | 86 | Outputs="$(SignedFilePath)"> |
| 82 | <CreateItem Include="@(SignTargetPath)"> | 87 | |
| 83 | <Output TaskParameter="Include" ItemName="SignMsm" /> | 88 | <ItemGroup> |
| 84 | <Output TaskParameter="Include" ItemName="FileWrites" /> | 89 | <SignMsm Include="@(SignTargetPath)" /> |
| 85 | </CreateItem> | 90 | </ItemGroup> |
| 86 | </Target> | 91 | </Target> |
| 87 | 92 | ||
| 88 | <Target | 93 | <Target |
| 89 | Name="InternalSignMsm" | 94 | Name="InternalSignMsm" |
| 90 | DependsOnTargets="SignMsm" | 95 | DependsOnTargets="SignMsm" |
| 91 | Condition=" '@(SignMsm)' != '' " /> | 96 | Condition=" '@(SignMsm)' != '' " /> |
| 92 | 97 | ||
| 93 | <Target | 98 | <Target |
| 94 | Name="GetCabsToSign" | 99 | Name="GetCabsToSign" |
| 95 | Inputs="@(SignTargetPath)" | 100 | Inputs="@(SignTargetPath)" |
| 96 | Outputs="$(IntermediateOutputPath)$(SignedFile)"> | 101 | Outputs="$(SignedFilePath)"> |
| 97 | <GetCabList Database="%(SignTargetPath.FullPath)"> | 102 | <GetCabList Database="%(SignTargetPath.FullPath)"> |
| 98 | <Output TaskParameter="CabList" ItemName="SignCabs" /> | 103 | <Output TaskParameter="CabList" ItemName="SignCabs" /> |
| 99 | <Output TaskParameter="CabList" ItemName="FileWrites" /> | 104 | <Output TaskParameter="CabList" ItemName="FileWrites" /> |
| @@ -101,14 +106,14 @@ | |||
| 101 | </Target> | 106 | </Target> |
| 102 | 107 | ||
| 103 | <Target | 108 | <Target |
| 104 | Name="InternalSignCabs" | 109 | Name="InternalSignCabs" |
| 105 | DependsOnTargets="SignCabs" | 110 | DependsOnTargets="SignCabs" |
| 106 | Condition=" '@(SignCabs)' != '' " /> | 111 | Condition=" '@(SignCabs)' != '' " /> |
| 107 | 112 | ||
| 108 | <Target | 113 | <Target |
| 109 | Name="GetMsiToSign" | 114 | Name="GetMsiToSign" |
| 110 | Inputs="@(SignTargetPath)" | 115 | Inputs="@(SignTargetPath)" |
| 111 | Outputs="$(IntermediateOutputPath)$(SignedFile)"> | 116 | Outputs="$(SignedFilePath)"> |
| 112 | <CreateItemAvoidingInference InputProperties="@(SignTargetPath)"> | 117 | <CreateItemAvoidingInference InputProperties="@(SignTargetPath)"> |
| 113 | <Output TaskParameter="OuputItems" ItemName="SignMsi" /> | 118 | <Output TaskParameter="OuputItems" ItemName="SignMsi" /> |
| 114 | <Output TaskParameter="OuputItems" ItemName="FileWrites" /> | 119 | <Output TaskParameter="OuputItems" ItemName="FileWrites" /> |
| @@ -116,33 +121,33 @@ | |||
| 116 | </Target> | 121 | </Target> |
| 117 | 122 | ||
| 118 | <Target | 123 | <Target |
| 119 | Name="InternalSignMsi" | 124 | Name="InternalSignMsi" |
| 120 | DependsOnTargets="SignMsi" | 125 | DependsOnTargets="SignMsi" |
| 121 | Inputs="@(SignTargetPath)" | 126 | Inputs="@(SignTargetPath)" |
| 122 | Outputs="$(IntermediateOutputPath)$(SignedFile)" | 127 | Outputs="$(SignedFilePath)" |
| 123 | Condition=" '@(SignMsi)' != '' " /> | 128 | Condition=" '@(SignMsi)' != '' " /> |
| 124 | 129 | ||
| 125 | <Target | 130 | <Target |
| 126 | Name="GetContainersToSign" | 131 | Name="GetContainersToSign" |
| 127 | Inputs="@(SignTargetPath)" | 132 | Inputs="@(SignTargetPath)" |
| 128 | Outputs="$(IntermediateOutputPath)$(SignedFile)"> | 133 | Outputs="$(SignedFilePath)"> |
| 129 | <!-- TODO: implement signing detached containers --> | 134 | <!-- TODO: implement signing detached containers --> |
| 130 | </Target> | 135 | </Target> |
| 131 | 136 | ||
| 132 | <Target | 137 | <Target |
| 133 | Name="InternalSignContainers" | 138 | Name="InternalSignContainers" |
| 134 | DependsOnTargets="SignContainers" | 139 | DependsOnTargets="SignContainers" |
| 135 | Condition=" '@(SignContainers)' != '' " /> | 140 | Condition=" '@(SignContainers)' != '' " /> |
| 136 | 141 | ||
| 137 | <Target | 142 | <Target |
| 138 | Name="InternalSignBundleEngine" | 143 | Name="InternalSignBundleEngine" |
| 139 | DependsOnTargets="SignBundleEngine" | 144 | DependsOnTargets="SignBundleEngine" |
| 140 | Condition=" '@(SignBundleEngine)' != '' " /> | 145 | Condition=" '@(SignBundleEngine)' != '' " /> |
| 141 | 146 | ||
| 142 | <Target | 147 | <Target |
| 143 | Name="InternalSignBundle" | 148 | Name="InternalSignBundle" |
| 144 | DependsOnTargets="SignBundle" | 149 | DependsOnTargets="SignBundle" |
| 145 | Condition=" '@(SignBundle)' != '' " /> | 150 | Condition=" '@(SignBundle)' != '' " /> |
| 146 | 151 | ||
| 147 | <!-- | 152 | <!-- |
| 148 | ================================================================================================ | 153 | ================================================================================================ |
| @@ -160,17 +165,13 @@ | |||
| 160 | --> | 165 | --> |
| 161 | <PropertyGroup> | 166 | <PropertyGroup> |
| 162 | <InscribeMsiDependsOn> | 167 | <InscribeMsiDependsOn> |
| 163 | PrepareForBuild; | ||
| 164 | ResolveWixExtensionReferences; | ||
| 165 | CompileAndLink; | ||
| 166 | InternalSignCabs | ||
| 167 | </InscribeMsiDependsOn> | 168 | </InscribeMsiDependsOn> |
| 168 | </PropertyGroup> | 169 | </PropertyGroup> |
| 169 | <Target | 170 | <Target |
| 170 | Name="InscribeMsi" | 171 | Name="InscribeMsi" |
| 171 | DependsOnTargets="$(InscribeMsiDependsOn)" | 172 | DependsOnTargets="$(InscribeMsiDependsOn)" |
| 172 | Inputs="@(SignTargetPath)" | 173 | Inputs="@(SignTargetPath)" |
| 173 | Outputs="$(IntermediateOutputPath)$(SignedFile)" | 174 | Outputs="$(SignedFilePath)" |
| 174 | Condition=" '@(SignCabs)' != '' "> | 175 | Condition=" '@(SignCabs)' != '' "> |
| 175 | 176 | ||
| 176 | <Insignia | 177 | <Insignia |
| @@ -203,17 +204,13 @@ | |||
| 203 | --> | 204 | --> |
| 204 | <PropertyGroup> | 205 | <PropertyGroup> |
| 205 | <InscribeBundleEngineDependsOn> | 206 | <InscribeBundleEngineDependsOn> |
| 206 | PrepareForBuild; | ||
| 207 | ResolveWixExtensionReferences; | ||
| 208 | CompileAndLink; | ||
| 209 | InternalSignContainers | ||
| 210 | </InscribeBundleEngineDependsOn> | 207 | </InscribeBundleEngineDependsOn> |
| 211 | </PropertyGroup> | 208 | </PropertyGroup> |
| 212 | <Target | 209 | <Target |
| 213 | Name="InscribeBundleEngine" | 210 | Name="InscribeBundleEngine" |
| 214 | DependsOnTargets="$(InscribeBundleEngineDependsOn)" | 211 | DependsOnTargets="$(InscribeBundleEngineDependsOn)" |
| 215 | Inputs="@(SignTargetPath)" | 212 | Inputs="@(SignTargetPath)" |
| 216 | Outputs="$(IntermediateOutputPath)$(SignedFile)"> | 213 | Outputs="$(SignedFilePath)"> |
| 217 | 214 | ||
| 218 | <Insignia | 215 | <Insignia |
| 219 | BundleFile="@(SignTargetPath)" | 216 | BundleFile="@(SignTargetPath)" |
| @@ -230,11 +227,10 @@ | |||
| 230 | <Output TaskParameter="Output" ItemName="SignBundleEngine" /> | 227 | <Output TaskParameter="Output" ItemName="SignBundleEngine" /> |
| 231 | </Insignia> | 228 | </Insignia> |
| 232 | 229 | ||
| 233 | <!-- Explicitly add output to FileWrites to ensure even when the target is up to date. --> | 230 | <!-- Explicitly add output to FileWrites to ensure they are included even when the target is up to date. --> |
| 234 | <CreateItem Include="$(IntermediateOutputPath)%(SignTargetPath.Filename)%(SignTargetPath.Extension)"> | 231 | <ItemGroup> |
| 235 | <Output TaskParameter="Include" ItemName="FileWrites" /> | 232 | <FileWrites Include="$(IntermediateOutputPath)%(SignTargetPath.Filename)%(SignTargetPath.Extension)" /> |
| 236 | </CreateItem> | 233 | </ItemGroup> |
| 237 | |||
| 238 | </Target> | 234 | </Target> |
| 239 | 235 | ||
| 240 | <!-- | 236 | <!-- |
| @@ -252,17 +248,13 @@ | |||
| 252 | --> | 248 | --> |
| 253 | <PropertyGroup> | 249 | <PropertyGroup> |
| 254 | <InscribeBundleDependsOn> | 250 | <InscribeBundleDependsOn> |
| 255 | PrepareForBuild; | ||
| 256 | ResolveWixExtensionReferences; | ||
| 257 | CompileAndLink; | ||
| 258 | InternalSignBundleEngine | ||
| 259 | </InscribeBundleDependsOn> | 251 | </InscribeBundleDependsOn> |
| 260 | </PropertyGroup> | 252 | </PropertyGroup> |
| 261 | <Target | 253 | <Target |
| 262 | Name="InscribeBundle" | 254 | Name="InscribeBundle" |
| 263 | DependsOnTargets="$(InscribeBundleDependsOn)" | 255 | DependsOnTargets="$(InscribeBundleDependsOn)" |
| 264 | Inputs="@(SignTargetPath)" | 256 | Inputs="@(SignTargetPath)" |
| 265 | Outputs="$(IntermediateOutputPath)$(SignedFile)"> | 257 | Outputs="$(SignedFilePath)"> |
| 266 | 258 | ||
| 267 | <Insignia | 259 | <Insignia |
| 268 | BundleFile="@(SignBundleEngine)" | 260 | BundleFile="@(SignBundleEngine)" |
diff --git a/src/WixToolset.BuildTasks/wix.targets b/src/WixToolset.BuildTasks/wix.targets index ebd3fa90..da90226d 100644 --- a/src/WixToolset.BuildTasks/wix.targets +++ b/src/WixToolset.BuildTasks/wix.targets | |||
| @@ -48,14 +48,13 @@ | |||
| 48 | <PropertyGroup> | 48 | <PropertyGroup> |
| 49 | <DefaultLanguageSourceExtension>.wxs</DefaultLanguageSourceExtension> | 49 | <DefaultLanguageSourceExtension>.wxs</DefaultLanguageSourceExtension> |
| 50 | <Language>wix</Language> | 50 | <Language>wix</Language> |
| 51 | <TargetRuntime>Managed</TargetRuntime> | 51 | <TargetRuntime>wix</TargetRuntime> |
| 52 | 52 | ||
| 53 | <!-- Use OutputName to set the AssemblyName for Microsoft.Common.targets --> | 53 | <!-- Use OutputName to set the AssemblyName for Microsoft.Common.targets --> |
| 54 | <OutputName Condition=" '$(OutputName)'=='' ">$(MSBuildProjectName)</OutputName> | 54 | <OutputName Condition=" '$(OutputName)'=='' ">$(MSBuildProjectName)</OutputName> |
| 55 | <AssemblyName>$(OutputName)</AssemblyName> | 55 | <AssemblyName>$(OutputName)</AssemblyName> |
| 56 | 56 | ||
| 57 | <!-- Default the OutputType to a known WiX toolset TYPE. --> | 57 | <!-- Default the OutputType to a known WiX Toolset type. --> |
| 58 | <_OriginalOutputType>$(OutputType)</_OriginalOutputType> | ||
| 59 | <OutputType Condition=" '$(OutputType)' == '' ">Package</OutputType> | 58 | <OutputType Condition=" '$(OutputType)' == '' ">Package</OutputType> |
| 60 | </PropertyGroup> | 59 | </PropertyGroup> |
| 61 | 60 | ||
| @@ -70,28 +69,24 @@ | |||
| 70 | <TargetExt Condition=" '$(OutputType)' == 'PatchCreation' ">.pcp</TargetExt> | 69 | <TargetExt Condition=" '$(OutputType)' == 'PatchCreation' ">.pcp</TargetExt> |
| 71 | <TargetExt Condition=" '$(OutputType)' == 'Library' ">.wixlib</TargetExt> | 70 | <TargetExt Condition=" '$(OutputType)' == 'Library' ">.wixlib</TargetExt> |
| 72 | <TargetExt Condition=" '$(OutputType)' == 'Bundle' ">.exe</TargetExt> | 71 | <TargetExt Condition=" '$(OutputType)' == 'Bundle' ">.exe</TargetExt> |
| 72 | <TargetExt Condition=" '$(OutputType)' == 'IntermediatePostLink' ">.wixipl</TargetExt> | ||
| 73 | </PropertyGroup> | 73 | </PropertyGroup> |
| 74 | 74 | ||
| 75 | <!-- Provide the correct output name for the .wixpdb --> | ||
| 76 | <ItemGroup Condition="'$(_DebugSymbolsProduced)' == 'true'"> | ||
| 77 | <_DebugSymbolsIntermediatePath Include="$(PdbOutputDir)$(TargetPdbName)" Condition=" '@(_DebugSymbolsIntermediatePath)' == '' " /> | ||
| 78 | </ItemGroup> | ||
| 79 | |||
| 80 | <Import Project="$(MSBuildToolsPath)\Microsoft.Common.targets" /> | 75 | <Import Project="$(MSBuildToolsPath)\Microsoft.Common.targets" /> |
| 81 | 76 | ||
| 82 | <PropertyGroup> | 77 | <PropertyGroup> |
| 83 | <!-- Default pdb output path to the intermediate output directory --> | 78 | <!-- Default pdb output path to the intermediate output directory --> |
| 84 | <PdbOutputDir Condition=" '$(PdbOutputDir)'=='' ">$(IntermediateOutputPath)</PdbOutputDir> | 79 | <PdbOutputDir Condition=" '$(PdbOutputDir)'=='' ">$(TargetDir)</PdbOutputDir> |
| 85 | <PdbOutputDir Condition=" '$(PdbOutputDir)' != '' and !HasTrailingSlash('$(PdbOutputDir)') ">$(PdbOutputDir)\</PdbOutputDir> | 80 | <PdbOutputDir Condition=" !HasTrailingSlash('$(PdbOutputDir)') ">$(PdbOutputDir)\</PdbOutputDir> |
| 86 | 81 | ||
| 87 | <!-- Example, C:\MyProjects\MyProject\bin\debug\ --> | 82 | <!-- Example, C:\MyProjects\MyProject\bin\debug\ --> |
| 88 | <TargetPdbDir Condition=" '$(PdbOutputDir)'!='' ">$([System.IO.Path]::GetFullPath(`$([System.IO.Path]::Combine(`$(MSBuildProjectDirectory)`, `$(PdbOutputDir)`))`))</TargetPdbDir> | 83 | <TargetPdbDir Condition=" '$(PdbOutputDir)'!='' ">$([System.IO.Path]::GetFullPath(`$([System.IO.Path]::Combine(`$(MSBuildProjectDirectory)`, `$(PdbOutputDir)`))`))</TargetPdbDir> |
| 89 | 84 | ||
| 90 | <!-- Example, MySetup.wixpdb" --> | 85 | <!-- Example, MySetup.wixpdb" --> |
| 91 | <TargetPdbName Condition=" '$(TargetPdbName)' == '' ">$(TargetName).wixpdb</TargetPdbName> | 86 | <TargetPdbFileName Condition=" '$(TargetPdbFileName)' == '' ">$(TargetName).wixpdb</TargetPdbFileName> |
| 92 | 87 | ||
| 93 | <!-- Example, C:\MyProjects\MyProject\bin\debug\MyPackage.wixpdb --> | 88 | <!-- Example, C:\MyProjects\MyProject\bin\debug\MyPackage.wixpdb --> |
| 94 | <TargetPdbPath Condition=" '$(TargetPdbPath)' == '' ">$(TargetPdbDir)$(TargetPdbName)</TargetPdbPath> | 89 | <TargetPdbPath Condition=" '$(TargetPdbPath)' == '' ">$(TargetPdbDir)$(TargetPdbFileName)</TargetPdbPath> |
| 95 | </PropertyGroup> | 90 | </PropertyGroup> |
| 96 | 91 | ||
| 97 | <!-- | 92 | <!-- |
| @@ -111,8 +106,6 @@ | |||
| 111 | <UsingTask TaskName="WixAssignCulture" AssemblyFile="$(WixTasksPath)" /> | 106 | <UsingTask TaskName="WixAssignCulture" AssemblyFile="$(WixTasksPath)" /> |
| 112 | <UsingTask TaskName="ResolveWixReferences" AssemblyFile="$(WixTasksPath)"/> | 107 | <UsingTask TaskName="ResolveWixReferences" AssemblyFile="$(WixTasksPath)"/> |
| 113 | <UsingTask TaskName="ReplaceString" AssemblyFile="$(WixTasksPath)"/> | 108 | <UsingTask TaskName="ReplaceString" AssemblyFile="$(WixTasksPath)"/> |
| 114 | <UsingTask TaskName="GetCabList" AssemblyFile="$(WixTasksPath)" /> | ||
| 115 | <UsingTask TaskName="GetLooseFileList" AssemblyFile="$(WixTasksPath)" /> | ||
| 116 | <UsingTask TaskName="GenerateCompileWithObjectPath" AssemblyFile="$(WixTasksPath)"/> | 109 | <UsingTask TaskName="GenerateCompileWithObjectPath" AssemblyFile="$(WixTasksPath)"/> |
| 117 | 110 | ||
| 118 | <PropertyGroup> | 111 | <PropertyGroup> |
| @@ -131,14 +124,6 @@ | |||
| 131 | </PropertyGroup> | 124 | </PropertyGroup> |
| 132 | 125 | ||
| 133 | <!-- | 126 | <!-- |
| 134 | Set the SignTargetPath item directly when output is a Bundle. The AssignCultures target | ||
| 135 | sets SignTargetPath item for other output types based on the cultures provided. | ||
| 136 | --> | ||
| 137 | <ItemGroup> | ||
| 138 | <SignTargetPath Include="$(TargetPath)" Condition=" '$(OutputType)' == 'Bundle' AND '$(SignOutput)' == 'true' AND '$(SuppressLayout)' != 'true' " /> | ||
| 139 | </ItemGroup> | ||
| 140 | |||
| 141 | <!-- | ||
| 142 | ////////////////////////////////////////////////////////////////////////////////////////////////// | 127 | ////////////////////////////////////////////////////////////////////////////////////////////////// |
| 143 | ////////////////////////////////////////////////////////////////////////////////////////////////// | 128 | ////////////////////////////////////////////////////////////////////////////////////////////////// |
| 144 | Default Compiler, Linker, and Librarian Property Declarations | 129 | Default Compiler, Linker, and Librarian Property Declarations |
| @@ -219,32 +204,27 @@ | |||
| 219 | 204 | ||
| 220 | [IN] | 205 | [IN] |
| 221 | $(OutputName) - The name of the MSI/MSM/wixlib to build (without the extension) | 206 | $(OutputName) - The name of the MSI/MSM/wixlib to build (without the extension) |
| 222 | $(OutputType) - Possible values are 'package', 'PatchCreation', 'module', 'library', 'bundle' | 207 | $(OutputType) - Possible values are 'Package', 'PatchCreation', 'Module', 'Library', 'Bundle', 'IntermediatePostLink' |
| 223 | ================================================================================================== | 208 | ================================================================================================== |
| 224 | --> | 209 | --> |
| 225 | <PropertyGroup> | 210 | <PropertyGroup> |
| 226 | <_PleaseSetThisInProjectFile>Please set this in the project file before the <Import> of the wix.targets file.</_PleaseSetThisInProjectFile> | 211 | <_PleaseSetThisInProjectFile>Please set this in the project file before the <Import> of the wix.targets file.</_PleaseSetThisInProjectFile> |
| 227 | <_OutputTypeDescription>The OutputType defines whether a Windows Installer package (.msi), PatchCreation (.pcp), merge module (.msm), wix library (.wixlib), or self-extracting executable (.exe) is being built. $(_PleaseSetThisInProjectFile) Possible values are 'Package', 'Module', 'Library', and 'Bundle'.</_OutputTypeDescription> | 212 | <_OutputTypeDescription>Possible values are: 'Package', 'Module', 'Library', 'Bundle', 'IntermediatePostLink'. $(_PleaseSetThisInProjectFile)</_OutputTypeDescription> |
| 228 | </PropertyGroup> | 213 | </PropertyGroup> |
| 229 | <Target Name="_CheckRequiredProperties"> | 214 | <Target Name="_CheckRequiredProperties"> |
| 230 | 215 | ||
| 231 | <Error | 216 | <Error |
| 232 | Code="WIXTARGETS100" | 217 | Code="WIX100" |
| 233 | Condition=" '$(OutputName)' == '' " | 218 | Condition=" '$(OutputName)' == '' " |
| 234 | Text="The OutputName property is not set in project "$(MSBuildProjectFile)". The OutputName defines the name of the output without a file extension. $(_PleaseSetThisInProjectFile)" /> | 219 | Text="The OutputName property is not set in project "$(MSBuildProjectFile)". The OutputName defines the name of the output without a file extension. $(_PleaseSetThisInProjectFile)" /> |
| 235 | 220 | ||
| 236 | <Warning | ||
| 237 | Code="WIXTARGETS101" | ||
| 238 | Condition=" '$(_OriginalOutputType)' == '' " | ||
| 239 | Text="The OutputType property is not set in project "$(MSBuildProjectFile)". Defaulting to '$(OutputType)'. $(_OutputTypeDescription)" /> | ||
| 240 | |||
| 241 | <Error | 221 | <Error |
| 242 | Code="WIXTARGETS102" | 222 | Code="WIX101" |
| 243 | Condition=" '$(OutputType)' != 'Package' and '$(OutputType)' != 'PatchCreation' and '$(OutputType)' != 'Module' and '$(OutputType)' != 'Library' and '$(OutputType)' != 'Bundle' " | 223 | Condition=" '$(OutputType)' != 'Package' and '$(OutputType)' != 'PatchCreation' and '$(OutputType)' != 'Module' and '$(OutputType)' != 'Library' and '$(OutputType)' != 'Bundle' and '$(OutputType)' != 'IntermediatePostLink' " |
| 244 | Text="The OutputType property '$(OutputType)' is not valid in project "$(MSBuildProjectFile)". $(_OutputTypeDescription)" /> | 224 | Text="The OutputType property '$(OutputType)' is not valid in project "$(MSBuildProjectFile)". $(_OutputTypeDescription)" /> |
| 245 | 225 | ||
| 246 | <Error | 226 | <Error |
| 247 | Code="WIXTARGETS103" | 227 | Code="WIX102" |
| 248 | Condition=" '$(MSBuildToolsVersion)' == '' OR '$(MSBuildToolsVersion)' < '4.0' " | 228 | Condition=" '$(MSBuildToolsVersion)' == '' OR '$(MSBuildToolsVersion)' < '4.0' " |
| 249 | Text="MSBuild v$(MSBuildToolsVersion) is not supported by the project "$(MSBuildProjectFile)". You must use MSBuild v4.0 or later." /> | 229 | Text="MSBuild v$(MSBuildToolsVersion) is not supported by the project "$(MSBuildProjectFile)". You must use MSBuild v4.0 or later." /> |
| 250 | 230 | ||
| @@ -272,7 +252,6 @@ | |||
| 272 | BuildOnlySettings; | 252 | BuildOnlySettings; |
| 273 | PrepareForBuild; | 253 | PrepareForBuild; |
| 274 | PreBuildEvent; | 254 | PreBuildEvent; |
| 275 | ResolveReferences; | ||
| 276 | 255 | ||
| 277 | WixBuild; | 256 | WixBuild; |
| 278 | Signing; | 257 | Signing; |
| @@ -580,7 +559,7 @@ | |||
| 580 | ================================================================================================ | 559 | ================================================================================================ |
| 581 | --> | 560 | --> |
| 582 | <PropertyGroup> | 561 | <PropertyGroup> |
| 583 | <GetTargetPathDependsOn>AssignCultures</GetTargetPathDependsOn> | 562 | <GetTargetPathDependsOn>AssignTargetPaths</GetTargetPathDependsOn> |
| 584 | </PropertyGroup> | 563 | </PropertyGroup> |
| 585 | 564 | ||
| 586 | 565 | ||
| @@ -600,22 +579,22 @@ | |||
| 600 | <PropertyGroup> | 579 | <PropertyGroup> |
| 601 | <WixBuildDependsOn> | 580 | <WixBuildDependsOn> |
| 602 | ResolveReferences; | 581 | ResolveReferences; |
| 603 | BeforeWixBuild; | 582 | BeforeCompile; |
| 604 | _TimeStampBeforeWixBuild; | 583 | _TimeStampBeforeCompile; |
| 605 | 584 | ||
| 606 | CalculateDefineConstants; | 585 | CalculateDefineConstants; |
| 607 | Harvest; | 586 | Harvest; |
| 608 | 587 | ||
| 609 | GenerateCompileWithObjectPath; | 588 | GenerateCompileWithObjectPath; |
| 610 | 589 | ||
| 611 | AssignCultures; | 590 | AssignTargetPaths; |
| 612 | ReadPreviousBindInputsAndBuiltOutputs; | 591 | ReadPreviousBindInputsAndBuiltOutputs; |
| 613 | 592 | ||
| 614 | CoreWixBuild; | 593 | CoreWixBuild; |
| 615 | 594 | ||
| 616 | UpdateLinkFileWrites; | 595 | UpdateLinkFileWrites; |
| 617 | _TimeStampAfterWixBuild; | 596 | _TimeStampAfterCompile; |
| 618 | AfterWixBuild | 597 | AfterCompile |
| 619 | </WixBuildDependsOn> | 598 | </WixBuildDependsOn> |
| 620 | </PropertyGroup> | 599 | </PropertyGroup> |
| 621 | <Target | 600 | <Target |
| @@ -623,23 +602,24 @@ | |||
| 623 | DependsOnTargets="$(WixBuildDependsOn)" /> | 602 | DependsOnTargets="$(WixBuildDependsOn)" /> |
| 624 | 603 | ||
| 625 | <Target | 604 | <Target |
| 626 | Name="CoreWixBuild" | 605 | Name="CoreWixBuild" |
| 627 | 606 | Inputs="@(Compile); | |
| 628 | Inputs="@(Compile); | 607 | @(Content); |
| 629 | @(Content); | 608 | @(EmbeddedResource); |
| 630 | @(EmbeddedResource); | 609 | @(WixObject); |
| 631 | @(WixObject); | 610 | @(_ResolvedProjectReferencePaths); |
| 632 | @(_ResolvedProjectReferencePaths); | 611 | @(_ResolvedWixLibraryPaths); |
| 633 | @(_ResolvedWixLibraryPaths); | 612 | @(_ResolvedWixExtensionPaths); |
| 634 | @(_ResolvedWixExtensionPaths); | 613 | @(_BindInputs); |
| 635 | @(_BindInputs); | 614 | $(MSBuildAllProjects)" |
| 636 | $(MSBuildAllProjects)" | 615 | Outputs="$(IntermediateOutputPath)%(CultureGroup.OutputFolder)$(BindBuiltOutputsFile);@(_BindBuiltOutputs)" |
| 637 | Outputs="$(IntermediateOutputPath)%(CultureGroup.OutputFolder)$(BindBuiltOutputsFile);@(_BindBuiltOutputs)" | 616 | Condition=" '@(Compile)' != '' "> |
| 638 | Condition=" '@(Compile)' != '' "> | ||
| 639 | 617 | ||
| 640 | <PropertyGroup> | 618 | <PropertyGroup> |
| 641 | <OutputFile>$([System.IO.Path]::GetFullPath($(IntermediateOutputPath)%(CultureGroup.OutputFolder)$(TargetName)$(TargetExt)))</OutputFile> | 619 | <!--<OutputFile>$([System.IO.Path]::GetFullPath($(TargetDir)%(CultureGroup.OutputFolder)$(TargetFileName)))</OutputFile>--> |
| 642 | <PdbOutputFile>$(TargetPdbDir)%(CultureGroup.OutputFolder)$(TargetPdbName)</PdbOutputFile> | 620 | <OutputFile>$([System.IO.Path]::GetFullPath($(IntermediateOutputPath)%(CultureGroup.OutputFolder)$(TargetFileName)))</OutputFile> |
| 621 | <!--<OutputFile>$([System.IO.Path]::GetFullPath($(IntermediateOutputPath)%(CultureGroup.OutputFolder)$(TargetName)$(TargetExt)))</OutputFile>--> | ||
| 622 | <PdbOutputFile>$(IntermediateOutputPath)%(CultureGroup.OutputFolder)$(TargetPdbFileName)</PdbOutputFile> | ||
| 643 | </PropertyGroup> | 623 | </PropertyGroup> |
| 644 | 624 | ||
| 645 | <DoIt | 625 | <DoIt |
| @@ -780,7 +760,7 @@ | |||
| 780 | 760 | ||
| 781 | <!-- | 761 | <!-- |
| 782 | ================================================================================================ | 762 | ================================================================================================ |
| 783 | AssignCultures | 763 | AssignTargetPaths - OVERRIDE Target |
| 784 | 764 | ||
| 785 | Determines the final list of culture groups to build based on either the Cultures property or | 765 | Determines the final list of culture groups to build based on either the Cultures property or |
| 786 | those specified in .wxl files. | 766 | those specified in .wxl files. |
| @@ -811,37 +791,27 @@ | |||
| 811 | @(CultureGroup) - The list of culture group strings with OutputFolder metadata | 791 | @(CultureGroup) - The list of culture group strings with OutputFolder metadata |
| 812 | $(TargetPath) - Property list of target link output MSIs/MSMs | 792 | $(TargetPath) - Property list of target link output MSIs/MSMs |
| 813 | $(TargetPdbPath) - Property list of target output pdbs | 793 | $(TargetPdbPath) - Property list of target output pdbs |
| 814 | @(SignTargetPath) - The list of target to be signed | ||
| 815 | 794 | ||
| 816 | ================================================================================================ | 795 | ================================================================================================ |
| 817 | --> | 796 | --> |
| 818 | <Target | 797 | <Target |
| 819 | Name="AssignCultures" | 798 | Name="AssignTargetPaths" |
| 820 | Condition=" '$(OutputType)' == 'Package' or '$(OutputType)' == 'PatchCreation' or '$(OutputType)' == 'Module' "> | 799 | Condition=" '$(OutputType)' == 'Package' or '$(OutputType)' == 'PatchCreation' or '$(OutputType)' == 'Module' "> |
| 821 | 800 | ||
| 822 | <WixAssignCulture | 801 | <WixAssignCulture Cultures="$(Cultures)" Files="@(EmbeddedResource)"> |
| 823 | Cultures="$(Cultures)" | ||
| 824 | Files="@(EmbeddedResource)"> | ||
| 825 | |||
| 826 | <Output TaskParameter="CultureGroups" ItemName="CultureGroup" /> | 802 | <Output TaskParameter="CultureGroups" ItemName="CultureGroup" /> |
| 827 | </WixAssignCulture> | 803 | </WixAssignCulture> |
| 828 | 804 | ||
| 829 | <!-- Build an itemgroup of outputs --> | 805 | <!-- Expand the culture groups then put them back into the appropriate property --> |
| 830 | <ItemGroup> | 806 | <ItemGroup> |
| 831 | <_TargetPathItems Include="$(TargetDir)%(CultureGroup.OutputFolder)$(TargetName)$(TargetExt)" /> | 807 | <_CulturedTargetPath Include="$(TargetDir)%(CultureGroup.OutputFolder)$(TargetFileName)" /> |
| 832 | <_TargetPdbPathItems Include="$(TargetPdbDir)%(CultureGroup.OutputFolder)$(TargetPdbName)" /> | 808 | <_CulturedTargetPdbPath Include="$(TargetPdbDir)%(CultureGroup.OutputFolder)$(TargetPdbFileName)" /> |
| 833 | </ItemGroup> | 809 | </ItemGroup> |
| 834 | 810 | ||
| 835 | <!-- Convert the itemgroup to a semicolon-delimited property --> | ||
| 836 | <PropertyGroup> | 811 | <PropertyGroup> |
| 837 | <TargetPath>@(_TargetPathItems)</TargetPath> | 812 | <TargetPath>@(_CulturedTargetPath)</TargetPath> |
| 838 | <TargetPdbPath>@(_TargetPdbPathItems)</TargetPdbPath> | 813 | <TargetPdbPath>@(_CulturedTargetPdbPath)</TargetPdbPath> |
| 839 | </PropertyGroup> | 814 | </PropertyGroup> |
| 840 | |||
| 841 | <!-- Set the sign target items, if we're signing output. --> | ||
| 842 | <ItemGroup Condition=" '$(SignOutput)' == 'true' AND '$(SuppressLayout)' != 'true' "> | ||
| 843 | <SignTargetPath Include="@(_TargetPathItems)" /> | ||
| 844 | </ItemGroup> | ||
| 845 | </Target> | 815 | </Target> |
| 846 | 816 | ||
| 847 | <!-- | 817 | <!-- |
| @@ -957,7 +927,7 @@ | |||
| 957 | ================================================================================================== | 927 | ================================================================================================== |
| 958 | --> | 928 | --> |
| 959 | <PropertyGroup> | 929 | <PropertyGroup> |
| 960 | <BuiltProjectOutputGroupDependsOn>PrepareForBuild;AssignCultures</BuiltProjectOutputGroupDependsOn> | 930 | <BuiltProjectOutputGroupDependsOn>PrepareForBuild;AssignTargetPaths</BuiltProjectOutputGroupDependsOn> |
| 961 | </PropertyGroup> | 931 | </PropertyGroup> |
| 962 | <Target | 932 | <Target |
| 963 | Name="BuiltProjectOutputGroup" | 933 | Name="BuiltProjectOutputGroup" |
| @@ -967,7 +937,7 @@ | |||
| 967 | <!-- Don't add BuiltProjectOutputGroupKeyOutput - to avoid duplicates, we only want to get the updated list of TargetPaths from the TargetPath property below --> | 937 | <!-- Don't add BuiltProjectOutputGroupKeyOutput - to avoid duplicates, we only want to get the updated list of TargetPaths from the TargetPath property below --> |
| 968 | 938 | ||
| 969 | <!-- Try to read the outputs from the bind outputs text file since that's the output list straight from linker. --> | 939 | <!-- Try to read the outputs from the bind outputs text file since that's the output list straight from linker. --> |
| 970 | <ReadLinesFromFile File="$(IntermediateOutputPath)%(CultureGroup.OutputFolder)$(BindOutputsFile)"> | 940 | <ReadLinesFromFile File="$(IntermediateOutputPath)%(CultureGroup.OutputFolder)$(BindBuiltOutputsFile)"> |
| 971 | <Output TaskParameter="Lines" ItemName="_BuiltProjectOutputGroupOutputIntermediate"/> | 941 | <Output TaskParameter="Lines" ItemName="_BuiltProjectOutputGroupOutputIntermediate"/> |
| 972 | </ReadLinesFromFile> | 942 | </ReadLinesFromFile> |
| 973 | 943 | ||
| @@ -993,14 +963,14 @@ | |||
| 993 | ================================================================================================== | 963 | ================================================================================================== |
| 994 | --> | 964 | --> |
| 995 | <PropertyGroup> | 965 | <PropertyGroup> |
| 996 | <DebugSymbolsProjectOutputGroupDependsOn>AssignCultures</DebugSymbolsProjectOutputGroupDependsOn> | 966 | <DebugSymbolsProjectOutputGroupDependsOn>AssignTargetPaths</DebugSymbolsProjectOutputGroupDependsOn> |
| 997 | </PropertyGroup> | 967 | </PropertyGroup> |
| 998 | <Target | 968 | <Target |
| 999 | Name="DebugSymbolsProjectOutputGroup" | 969 | Name="DebugSymbolsProjectOutputGroup" |
| 1000 | Outputs="@(DebugSymbolsProjectOutputGroupOutput)" | 970 | Outputs="@(DebugSymbolsProjectOutputGroupOutput)" |
| 1001 | DependsOnTargets="$(DebugSymbolsProjectOutputGroupDependsOn)"> | 971 | DependsOnTargets="$(DebugSymbolsProjectOutputGroupDependsOn)"> |
| 1002 | 972 | ||
| 1003 | <!-- Include build output pdb(s). Different than predefined itemgroup since AssignCultures target may change --> | 973 | <!-- Include build output pdb(s). Different than predefined itemgroup since AssignTargetPaths target may change --> |
| 1004 | <ItemGroup> | 974 | <ItemGroup> |
| 1005 | <DebugSymbolsProjectOutputGroupOutput Include="$(TargetPdbPath)" Condition=" '$(SuppressPdbOutput)' != 'true' "/> | 975 | <DebugSymbolsProjectOutputGroupOutput Include="$(TargetPdbPath)" Condition=" '$(SuppressPdbOutput)' != 'true' "/> |
| 1006 | </ItemGroup> | 976 | </ItemGroup> |
| @@ -1029,7 +999,7 @@ | |||
| 1029 | </PropertyGroup> | 999 | </PropertyGroup> |
| 1030 | 1000 | ||
| 1031 | <!-- Copy the bound files. --> | 1001 | <!-- Copy the bound files. --> |
| 1032 | <ReadLinesFromFile File="$(IntermediateOutputPath)%(CultureGroup.OutputFolder)$(BindOutputsFile)"> | 1002 | <ReadLinesFromFile File="$(IntermediateOutputPath)%(CultureGroup.OutputFolder)$(BindBuiltOutputsFile)"> |
| 1033 | <Output TaskParameter="Lines" ItemName="_FullPathToCopy"/> | 1003 | <Output TaskParameter="Lines" ItemName="_FullPathToCopy"/> |
| 1034 | </ReadLinesFromFile> | 1004 | </ReadLinesFromFile> |
| 1035 | 1005 | ||
