summaryrefslogtreecommitdiff
path: root/Tools/msi/msi.targets
diff options
context:
space:
mode:
Diffstat (limited to 'Tools/msi/msi.targets')
-rw-r--r--Tools/msi/msi.targets62
1 files changed, 62 insertions, 0 deletions
diff --git a/Tools/msi/msi.targets b/Tools/msi/msi.targets
new file mode 100644
index 0000000000..b507dc3a83
--- /dev/null
+++ b/Tools/msi/msi.targets
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+
+ <Target Name="ProcessInstallFiles" AfterTargets="PrepareForBuild" Condition="@(InstallFiles) != ''">
+ <PropertyGroup>
+ <_FileListTarget>$(IntermediateOutputPath)$(MSBuildProjectName).g.csv</_FileListTarget>
+ <_InstallFilesTarget>$(IntermediateOutputPath)$(MSBuildProjectName).g.wxs</_InstallFilesTarget>
+ </PropertyGroup>
+
+ <ItemGroup>
+ <InstallFiles>
+ <_Source>%(Source)$([msbuild]::MakeRelative(%(SourceBase), %(FullPath)))</_Source>
+ <_Target>%(Target_)$([msbuild]::MakeRelative(%(TargetBase), %(FullPath)))</_Target>
+ </InstallFiles>
+ </ItemGroup>
+
+ <WriteLinesToFile File="$(_FileListTarget)" Lines="@(InstallFiles->'&quot;%(_Source)&quot;,&quot;%(_Target)&quot;,&quot;%(Group)&quot;,&quot;%(DiskId)&quot;,&quot;%(Condition)&quot;')" Overwrite="true" />
+ <Exec Command='"$(PythonExe)" csv_to_wxs.py "$(_FileListTarget)" "$(_InstallFilesTarget)"'
+ WorkingDirectory="$(MSBuildThisFileDirectory)" />
+
+ <ItemGroup>
+ <FileWrites Include="$(_FileListTarget);$(_InstallFilesTarget)" />
+ <Compile Include="$(_InstallFilesTarget)" />
+ </ItemGroup>
+ </Target>
+
+ <Target Name="_TransformWxlTemplates" AfterTargets="PrepareForBuild" Inputs="@(WxlTemplate)" Outputs="$(IntermediateOutputPath)%(Filename).wxl">
+ <PropertyGroup>
+ <_Content>$([System.IO.File]::ReadAllText(%(WxlTemplate.FullPath)).Replace(`{{ShortVersion}}`, `$(MajorVersionNumber).$(MinorVersionNumber)`).Replace(`{{LongVersion}}`, `$(PythonVersion)`).Replace(`{{Bitness}}`, `$(Bitness)`))</_Content>
+ <_ExistingContent Condition="Exists('$(IntermediateOutputPath)%(WxlTemplate.Filename).wxl')">$([System.IO.File]::ReadAllText($(IntermediateOutputPath)%(WxlTemplate.Filename).wxl))</_ExistingContent>
+ </PropertyGroup>
+
+ <WriteLinesToFile File="$(IntermediateOutputPath)%(WxlTemplate.Filename).wxl"
+ Lines="$(_Content)"
+ Overwrite="true"
+ Condition="$(_Content) != $(_ExistingContent)" />
+
+ <ItemGroup>
+ <EmbeddedResource Include="$(IntermediateOutputPath)%(WxlTemplate.Filename).wxl" />
+ <FileWrites Include="$(IntermediateOutputPath)%(WxlTemplate.Filename).wxl" />
+ </ItemGroup>
+ </Target>
+
+ <Import Project="$(WixTargetsPath)" />
+
+ <Target Name="SignCabs">
+ <Error Text="Unable to locate signtool.exe. Set /p:SignToolPath and rebuild" Condition="'$(_SignCommand)' == ''" />
+ <Exec Command="$(_SignCommand) @(SignCabs->'&quot;%(FullPath)&quot;',' ')" ContinueOnError="false" />
+ </Target>
+ <Target Name="SignMsi">
+ <Error Text="Unable to locate signtool.exe. Set /p:SignToolPath and rebuild" Condition="'$(_SignCommand)' == ''" />
+ <Exec Command="$(_SignCommand) @(SignMsi->'&quot;%(FullPath)&quot;',' ')" ContinueOnError="false" />
+ </Target>
+ <Target Name="SignBundleEngine">
+ <Error Text="Unable to locate signtool.exe. Set /p:SignToolPath and rebuild" Condition="'$(_SignCommand)' == ''" />
+ <Exec Command="$(_SignCommand) @(SignBundleEngine->'&quot;%(FullPath)&quot;',' ')" ContinueOnError="false" />
+ </Target>
+ <Target Name="SignBundle">
+ <Error Text="Unable to locate signtool.exe. Set /p:SignToolPath and rebuild" Condition="'$(_SignCommand)' == ''" />
+ <Exec Command="$(_SignCommand) @(SignBundle->'&quot;%(FullPath)&quot;',' ')" ContinueOnError="false" />
+ </Target>
+</Project> \ No newline at end of file