Skip to content

Commit 440ca13

Browse files
committed
Add setup application for x86 and x64
1 parent 25c9584 commit 440ca13

13 files changed

+402
-24
lines changed

Directory.Build.props

+18-5
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,15 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
33
<PropertyGroup>
4-
<!-- Build to a folder outside the source folders, making it easier to clean. -->
5-
<OutDir>$(MSBuildThisFileDirectory)build\bin\$(Platform)\$(Configuration)\</OutDir>
6-
<OutDir Condition="'$(Platform)'=='Win32'">$(MSBuildThisFileDirectory)build\bin\x86\$(Configuration)\</OutDir>
7-
<IntDir>$(MSBuildThisFileDirectory)build\intermediate\$(Platform)\$(Configuration)\$(MSBuildProjectName)\</IntDir>
8-
<IntDir Condition="'$(Platform)'=='Win32'">$(MSBuildThisFileDirectory)build\intermediate\x86\$(Configuration)\$(MSBuildProjectName)\</IntDir>
4+
<!-- C++ projects: build to a folder outside the source folders, making it easier to clean. -->
5+
<OutDir>$(MSBuildThisFileDirectory)build\binaries\$(Platform)\$(Configuration)\</OutDir>
6+
<OutDir Condition="'$(Platform)'=='Win32'">$(MSBuildThisFileDirectory)build\binaries\x86\$(Configuration)\</OutDir>
7+
<IntDir>$(MSBuildThisFileDirectory)build\intermediates\$(Platform)\$(Configuration)\$(MSBuildProjectName)\</IntDir>
8+
<IntDir Condition="'$(Platform)'=='Win32'">$(MSBuildThisFileDirectory)build\intermediates\x86\$(Configuration)\$(MSBuildProjectName)\</IntDir>
9+
10+
<!-- WixProj: build to a folder outside the source folders, making it easier to clean. -->
11+
<OutputPath>$(MSBuildThisFileDirectory)build\binaries\$(Configuration)\</OutputPath>
12+
<BaseIntermediateOutputPath>$(MSBuildThisFileDirectory)build\intermediates\$(MSBuildProjectName)\</BaseIntermediateOutputPath>
913

1014
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
1115

@@ -22,6 +26,15 @@
2226
<!-- Allow executing more build operations in parallel. -->
2327
<BuildPassReferences>true</BuildPassReferences>
2428
<AllowParallelCompileInReferencedProjects>true</AllowParallelCompileInReferencedProjects>
29+
30+
<Version>0.2.0</Version>
31+
32+
<!-- Define properties for WIX projects -->
33+
<DefineConstants>FourPartsVersion=$(Version).0;</DefineConstants>
34+
<Pedantic>true</Pedantic>
35+
36+
<AccelerateBuildsInVisualStudio>true</AccelerateBuildsInVisualStudio><!-- Enable faster builds for SDK style projects in Visual Studio 2022 17.5 and newer. -->
37+
<ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
2538
</PropertyGroup>
2639

2740
<ItemDefinitionGroup>

Directory.Packages.props

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<!--
2+
Copyright (c) Team CharLS.
3+
SPDX-License-Identifier: BSD-3-Clause
4+
-->
5+
6+
<Project>
7+
<ItemGroup>
8+
<PackageVersion Include="WixToolset.Bal.wixext" Version="5.0.2" />
9+
<PackageVersion Include="WixToolset.Util.wixext" Version="5.0.2" />
10+
</ItemGroup>
11+
</Project>

README.md

+16-19
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@ This Windows Imaging Component (WIC) codec makes it possible to decode .pgm and
66
It makes it possible to view Netpbm encoded images in Windows PhotoViewer, Windows Explorer (including thumbnails)
77
and import these images in Microsoft Office documents.
88

9-
It is a C++ 23 implementation based on the <https://github.com/chausner/PnmWicImageCodec> project.
10-
It leverages the C++/WinRT framework to implement the classic COM components required for a WIC codec.
9+
It is a C++ 23 implementation originally based on the [PNM WIC Image Codec project](https://github.com/chausner/PnmWicImageCodec).
10+
It leverages the C++/WinRT framework to implement the classic COM components required for a WIC codec and uses Wix v5 for the installer.
1111

1212
## Introduction
1313

@@ -36,22 +36,18 @@ The Windows Imaging Component (WIC) is a built-in codec framework of Windows tha
3636
to create independent native image codecs that can be used by a large set of applications.
3737
WIC is implemented using COM technology. Image codecs for many popular formats are already pre-installed on Windows.
3838

39-
### Status
39+
## Installing
4040

41-
This project is the development phase:
41+
### Requirements
4242

43-
- Visual Studio 2022 17.11 or newer is needed to build the project.
44-
- No installer with pre-built binaries is available, manually building and registering is required.
45-
- Only .pgm P5 gray scale and P6 .ppm images can be decoded.
46-
- All image files are considered single frame (the Netpbm standard also allows multi-frame)
47-
- Only a decoder is available.
43+
- Windows 11 or Windows 10 (version 22H2).
44+
- x86, x64 or ARM64 processor
4845

49-
### Supported Operation Systems
46+
### Via GitHub with EXE
5047

51-
The Netpbm WIC codec supports the following Windows operating systems:
52-
53-
- Windows 11 and 10
54-
- Windows Server 2022
48+
Go to the [releases](https://github.com/team-charls/netpbm-wic-codec/releases) page and click on
49+
Assets at the bottom to show the files available in the release.
50+
Please use the appropriate installer that matches your machine's architecture.
5551

5652
### Applications that can use the Netpbm WIC codec
5753

@@ -63,7 +59,8 @@ The following application have been validated to work with the Netpbm WIC codec:
6359
is provided to restore this functionality. The standard Windows Registry Editor can be used to add import this .reg file.
6460
- WIC Explorer (sample application from Microsoft). An updated version of this application can be found at <https://github.com/vbaderks/WICExplorer>
6561
- ZackViewer <https://github.com/peirick/ZackViewer>. This viewer can also be used to convert from one image encoding format to another.
66-
- Microsoft Office applications like Word, Excel, PowerPoint. These applications can, when the NetPbm codec is installed, import .pgm images in their documents.
62+
- Microsoft Office applications like Word, Excel, PowerPoint. These applications can, when the NetPbm codec is installed, import .pgm images in their documents. The 32 bit version of Office
63+
requires that the x86 version of the codec is installed.
6764

6865
#### Windows 11\10 Microsoft Photos Application not supported
6966

@@ -101,13 +98,13 @@ The following table lists the formats that can be decoded:
10198

10299
Note *: monochrome images with 10 or 12 bits per sample will be upscaled to 16 bits per sample.
103100

104-
## Build Instructions
101+
## Manual Build Instructions
105102

106103
1. Clone this repro
107-
1. Use Visual Studio and open the netpbm-wic-codec.sln. Batch build all projects.
104+
1. Use Visual Studio 2022 17.11 or newer and open the netpbm-wic-codec.sln. Batch build all projects.
108105
1. Or use a Developer Command Prompt and run use MSBuild in the root of the cloned repository.
109106

110-
## Installation
107+
### Installation
111108

112109
1. Open a command prompt with elevated rights
113110
1. Navigate to folder with the netpbm-wic-codec.dll
@@ -117,7 +114,7 @@ Note *: monochrome images with 10 or 12 bits per sample will be upscaled to 16 b
117114
regsvr32 netpbm-wic-codec.dll
118115
```
119116

120-
## Uninstall
117+
### Uninstall
121118

122119
1. Open a command prompt with elevated rights
123120
1. Navigate to folder with the netpbm-wic-codec.dll

global.json

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"msbuild-sdks": {
3+
"WixToolset.Sdk": "5.0.2"
4+
}
5+
}

netpbm-wic-codec.sln

+28
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,10 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution
2020
EndProject
2121
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "std-header-units", "std-header-units\std-header-units.vcxproj", "{DB8D6FC8-6F7B-446F-892A-0BA6C779E5F2}"
2222
EndProject
23+
Project("{B7DD6F7E-DEF8-4E67-B5B7-07EF123DB6F0}") = "bootstrapper", "setup\bootstrapper\bootstrapper.wixproj", "{53E56BDE-5FC1-4C10-985E-609A34483B6A}"
24+
EndProject
25+
Project("{B7DD6F7E-DEF8-4E67-B5B7-07EF123DB6F0}") = "installer", "setup\installer\installer.wixproj", "{8A21B212-8135-4499-9E5D-A2B47E88E983}"
26+
EndProject
2327
Global
2428
GlobalSection(SolutionConfigurationPlatforms) = preSolution
2529
Debug|ARM64 = Debug|ARM64
@@ -66,6 +70,30 @@ Global
6670
{DB8D6FC8-6F7B-446F-892A-0BA6C779E5F2}.Release|x64.Build.0 = Release|x64
6771
{DB8D6FC8-6F7B-446F-892A-0BA6C779E5F2}.Release|x86.ActiveCfg = Release|Win32
6872
{DB8D6FC8-6F7B-446F-892A-0BA6C779E5F2}.Release|x86.Build.0 = Release|Win32
73+
{53E56BDE-5FC1-4C10-985E-609A34483B6A}.Debug|ARM64.ActiveCfg = Debug|ARM64
74+
{53E56BDE-5FC1-4C10-985E-609A34483B6A}.Debug|ARM64.Build.0 = Debug|ARM64
75+
{53E56BDE-5FC1-4C10-985E-609A34483B6A}.Debug|x64.ActiveCfg = Debug|x64
76+
{53E56BDE-5FC1-4C10-985E-609A34483B6A}.Debug|x64.Build.0 = Debug|x64
77+
{53E56BDE-5FC1-4C10-985E-609A34483B6A}.Debug|x86.ActiveCfg = Debug|x86
78+
{53E56BDE-5FC1-4C10-985E-609A34483B6A}.Debug|x86.Build.0 = Debug|x86
79+
{53E56BDE-5FC1-4C10-985E-609A34483B6A}.Release|ARM64.ActiveCfg = Release|ARM64
80+
{53E56BDE-5FC1-4C10-985E-609A34483B6A}.Release|ARM64.Build.0 = Release|ARM64
81+
{53E56BDE-5FC1-4C10-985E-609A34483B6A}.Release|x64.ActiveCfg = Release|x64
82+
{53E56BDE-5FC1-4C10-985E-609A34483B6A}.Release|x64.Build.0 = Release|x64
83+
{53E56BDE-5FC1-4C10-985E-609A34483B6A}.Release|x86.ActiveCfg = Release|x86
84+
{53E56BDE-5FC1-4C10-985E-609A34483B6A}.Release|x86.Build.0 = Release|x86
85+
{8A21B212-8135-4499-9E5D-A2B47E88E983}.Debug|ARM64.ActiveCfg = Debug|ARM64
86+
{8A21B212-8135-4499-9E5D-A2B47E88E983}.Debug|ARM64.Build.0 = Debug|ARM64
87+
{8A21B212-8135-4499-9E5D-A2B47E88E983}.Debug|x64.ActiveCfg = Debug|x64
88+
{8A21B212-8135-4499-9E5D-A2B47E88E983}.Debug|x64.Build.0 = Debug|x64
89+
{8A21B212-8135-4499-9E5D-A2B47E88E983}.Debug|x86.ActiveCfg = Debug|x86
90+
{8A21B212-8135-4499-9E5D-A2B47E88E983}.Debug|x86.Build.0 = Debug|x86
91+
{8A21B212-8135-4499-9E5D-A2B47E88E983}.Release|ARM64.ActiveCfg = Release|ARM64
92+
{8A21B212-8135-4499-9E5D-A2B47E88E983}.Release|ARM64.Build.0 = Release|ARM64
93+
{8A21B212-8135-4499-9E5D-A2B47E88E983}.Release|x64.ActiveCfg = Release|x64
94+
{8A21B212-8135-4499-9E5D-A2B47E88E983}.Release|x64.Build.0 = Release|x64
95+
{8A21B212-8135-4499-9E5D-A2B47E88E983}.Release|x86.ActiveCfg = Release|x86
96+
{8A21B212-8135-4499-9E5D-A2B47E88E983}.Release|x86.Build.0 = Release|x86
6997
EndGlobalSection
7098
GlobalSection(SolutionProperties) = preSolution
7199
HideSolutionNode = FALSE

netpbm-wic-codec.sln.DotSettings

+8
Original file line numberDiff line numberDiff line change
@@ -4,24 +4,32 @@
44
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=CppClassCanBeFinal/@EntryIndexedValue">DO_NOT_SHOW</s:String>
55
<s:Boolean x:Key="/Default/UserDictionary/Words/=anymap/@EntryIndexedValue">True</s:Boolean>
66
<s:Boolean x:Key="/Default/UserDictionary/Words/=bugprone/@EntryIndexedValue">True</s:Boolean>
7+
<s:Boolean x:Key="/Default/UserDictionary/Words/=BUILDARCH/@EntryIndexedValue">True</s:Boolean>
8+
<s:Boolean x:Key="/Default/UserDictionary/Words/=CATID/@EntryIndexedValue">True</s:Boolean>
79
<s:Boolean x:Key="/Default/UserDictionary/Words/=charls/@EntryIndexedValue">True</s:Boolean>
810
<s:Boolean x:Key="/Default/UserDictionary/Words/=CLSID/@EntryIndexedValue">True</s:Boolean>
911
<s:Boolean x:Key="/Default/UserDictionary/Words/=cppcoreguidelines/@EntryIndexedValue">True</s:Boolean>
1012
<s:Boolean x:Key="/Default/UserDictionary/Words/=defacto/@EntryIndexedValue">True</s:Boolean>
1113
<s:Boolean x:Key="/Default/UserDictionary/Words/=Derks/@EntryIndexedValue">True</s:Boolean>
1214
<s:Boolean x:Key="/Default/UserDictionary/Words/=endian/@EntryIndexedValue">True</s:Boolean>
15+
<s:Boolean x:Key="/Default/UserDictionary/Words/=ffff/@EntryIndexedValue">True</s:Boolean>
1316
<s:Boolean x:Key="/Default/UserDictionary/Words/=fmtlib/@EntryIndexedValue">True</s:Boolean>
1417
<s:Boolean x:Key="/Default/UserDictionary/Words/=graymap/@EntryIndexedValue">True</s:Boolean>
18+
<s:Boolean x:Key="/Default/UserDictionary/Words/=HKCR/@EntryIndexedValue">True</s:Boolean>
1519
<s:Boolean x:Key="/Default/UserDictionary/Words/=hkey/@EntryIndexedValue">True</s:Boolean>
20+
<s:Boolean x:Key="/Default/UserDictionary/Words/=HKLM/@EntryIndexedValue">True</s:Boolean>
1621
<s:Boolean x:Key="/Default/UserDictionary/Words/=hresult/@EntryIndexedValue">True</s:Boolean>
1722
<s:Boolean x:Key="/Default/UserDictionary/Words/=Inproc/@EntryIndexedValue">True</s:Boolean>
23+
<s:Boolean x:Key="/Default/UserDictionary/Words/=INSTALLFOLDER/@EntryIndexedValue">True</s:Boolean>
1824
<s:Boolean x:Key="/Default/UserDictionary/Words/=IWIC/@EntryIndexedValue">True</s:Boolean>
1925
<s:Boolean x:Key="/Default/UserDictionary/Words/=jpegls/@EntryIndexedValue">True</s:Boolean>
2026
<s:Boolean x:Key="/Default/UserDictionary/Words/=Lossless/@EntryIndexedValue">True</s:Boolean>
2127
<s:Boolean x:Key="/Default/UserDictionary/Words/=Multiframe/@EntryIndexedValue">True</s:Boolean>
2228
<s:Boolean x:Key="/Default/UserDictionary/Words/=netpbm/@EntryIndexedValue">True</s:Boolean>
29+
<s:Boolean x:Key="/Default/UserDictionary/Words/=norestart/@EntryIndexedValue">True</s:Boolean>
2330
<s:Boolean x:Key="/Default/UserDictionary/Words/=pgmfile/@EntryIndexedValue">True</s:Boolean>
2431
<s:Boolean x:Key="/Default/UserDictionary/Words/=pixmap/@EntryIndexedValue">True</s:Boolean>
2532
<s:Boolean x:Key="/Default/UserDictionary/Words/=ppmfile/@EntryIndexedValue">True</s:Boolean>
2633
<s:Boolean x:Key="/Default/UserDictionary/Words/=unregister/@EntryIndexedValue">True</s:Boolean>
34+
<s:Boolean x:Key="/Default/UserDictionary/Words/=VCRUNTIME/@EntryIndexedValue">True</s:Boolean>
2735
<s:Boolean x:Key="/Default/UserDictionary/Words/=wincodec/@EntryIndexedValue">True</s:Boolean></wpf:ResourceDictionary>

setup/bootstrapper/Bundle.wxs

+123
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,123 @@
1+
<!--
2+
Copyright (c) Team CharLS.
3+
SPDX-License-Identifier: BSD-3-Clause
4+
-->
5+
6+
<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs"
7+
xmlns:bal="http://wixtoolset.org/schemas/v4/wxs/bal"
8+
xmlns:util="http://wixtoolset.org/schemas/v4/wxs/util">
9+
10+
<!-- Use a different upgrade code for x86 to allow x86 and x64 versions to be installed side by side -->
11+
<?if $(sys.BUILDARCHSHORT) = "X86" ?>
12+
<?define UpgradeCode = "385a0ece-2336-4e92-985b-e68bd1794254" ?>
13+
<?else?>
14+
<?define UpgradeCode = "385a0ece-2336-4e92-985b-e68bd1794255" ?>
15+
<?endif?>
16+
17+
<Bundle Name="Netpbm WIC Codec ($(sys.BUILDARCH))"
18+
Manufacturer="Team CharLS"
19+
Version="$(FourPartsVersion)"
20+
UpgradeCode="$(UpgradeCode)">
21+
22+
<BootstrapperApplication>
23+
<bal:WixStandardBootstrapperApplication
24+
LicenseUrl=""
25+
Theme="hyperlinkLicense"
26+
SuppressOptionsUI="yes"
27+
SuppressRepair="yes" />
28+
</BootstrapperApplication>
29+
30+
<!-- processor architecture -->
31+
<util:RegistrySearch
32+
Id="REG_ARCH"
33+
Root="HKLM"
34+
Key="SYSTEM\CurrentControlSet\Control\Session Manager\Environment"
35+
Value="PROCESSOR_ARCHITECTURE"
36+
Result="value"
37+
Variable="ARCH_NAME" />
38+
39+
<!-- Visual C++ 2015-2022 Redistributable (x86) runtime minimum msi package version -->
40+
<util:ProductSearch
41+
Id="VCRUNTIME_X86"
42+
Result="version"
43+
Variable="VCRUNTIME_X86_VER"
44+
UpgradeCode="65E5BD06-6392-3027-8C26-853107D3CF1A"
45+
Condition="VersionNT" />
46+
47+
<!-- Visual C++ 2015-2022 Redistributable (x64) runtime minimum msi package version -->
48+
<util:ProductSearch
49+
Id="VCRUNTIME_X64"
50+
Result="version"
51+
Variable="VCRUNTIME_X64_VER"
52+
UpgradeCode="36F68A90-239C-34DF-B58C-64B30153CE35"
53+
Condition="VersionNT64 AND (ARCH_NAME = &quot;AMD64&quot;)"
54+
After="REG_ARCH" />
55+
56+
<!-- Visual C++ 2015-2022 Redistributable (Arm64) runtime msi package version -->
57+
<util:ProductSearch
58+
Id="VCRUNTIME_ARM64"
59+
Result="version"
60+
Variable="VCRUNTIME_ARM64_VER"
61+
UpgradeCode="DC9BAE42-810B-423A-9E25-E4073F1C7B00"
62+
Condition="(ARCH_NAME = &quot;ARM64&quot;)"
63+
After="REG_ARCH" />
64+
65+
<!-- Visual C++ 2015-2022 Redistributable runtime msi package version -->
66+
<Variable Name="VCRUNTIME_VER" Type="version" Value="14.40.33810.0" />
67+
68+
<Chain>
69+
<!-- Visual C++ 2015-2022 Redistributable (x86) -->
70+
<?if $(sys.BUILDARCHSHORT) = "X86" ?>
71+
<ExePackage
72+
Id="VC_REDIST_X86"
73+
DisplayName="Microsoft Visual C++ 2015-2022 Redistributable (x86) - 14.40.33810"
74+
Cache="remove"
75+
PerMachine="yes"
76+
Protocol="burn"
77+
InstallCondition="VersionNT"
78+
DetectCondition="(VCRUNTIME_X86_VER &gt;= VCRUNTIME_VER) AND VersionNT"
79+
InstallArguments="/install /quiet /norestart"
80+
RepairArguments="/repair /quiet /norestart"
81+
UninstallArguments="/uninstall /quiet /norestart">
82+
<ExePackagePayload
83+
Name="VC_redist.x86.exe"
84+
ProductName="Microsoft Visual C++ 2015-2022 Redistributable (x86) - 14.40.33810"
85+
Description="Microsoft Visual C++ 2015-2022 Redistributable (x86) - 14.40.33810"
86+
Hash="91a6283f774f9e2338b65aa835156854e9e76aed32f821b13cfd070dd6c87e1542ce2d5845beb5e4af1ddb102314bb6e0ad6214d896bb3e387590a01eae0c182"
87+
Size="13867304"
88+
Version="14.40.33810.0"
89+
DownloadUrl="https://download.visualstudio.microsoft.com/download/pr/9c69db26-cda4-472d-bdae-f2b87f4a0177/A32DD41EAAB0C5E1EAA78BE3C0BB73B48593DE8D97A7510B97DE3FD993538600/VC_redist.x86.exe" />
90+
</ExePackage>
91+
<?endif?>
92+
93+
<!-- Visual C++ 2015-2022 Redistributable (x64) -->
94+
<?if $(sys.BUILDARCHSHORT) = "X64" ?>
95+
<ExePackage
96+
Id="VC_REDIST_X64"
97+
DisplayName="Microsoft Visual C++ 2015-2022 Redistributable (x64) - 14.40.33810"
98+
Cache="remove"
99+
PerMachine="yes"
100+
Protocol="burn"
101+
InstallCondition="VersionNT64 AND (ARCH_NAME = &quot;AMD64&quot;)"
102+
DetectCondition="(VCRUNTIME_X64_VER &gt;= VCRUNTIME_VER) AND VersionNT64 AND (ARCH_NAME = &quot;AMD64&quot;)"
103+
InstallArguments="/install /quiet /norestart"
104+
RepairArguments="/repair /quiet /norestart"
105+
UninstallArguments="/uninstall /quiet /norestart">
106+
<ExePackagePayload
107+
Name="VC_redist.x64.exe"
108+
ProductName="Microsoft Visual C++ 2015-2022 Redistributable (x64) - 14.40.33810"
109+
Description="Microsoft Visual C++ 2015-2022 Redistributable (x64) - 14.40.33810"
110+
Hash="5935b69f5138ac3fbc33813c74da853269ba079f910936aefa95e230c6092b92f6225bffb594e5dd35ff29bf260e4b35f91adede90fdf5f062030d8666fd0104"
111+
Size="25397512"
112+
Version="14.40.33810.0"
113+
DownloadUrl="https://download.visualstudio.microsoft.com/download/pr/1754ea58-11a6-44ab-a262-696e194ce543/3642E3F95D50CC193E4B5A0B0FFBF7FE2C08801517758B4C8AEB7105A091208A/VC_redist.x64.exe" />
114+
</ExePackage>
115+
<?endif?>
116+
117+
<MsiPackage
118+
Id="CodecInstaller"
119+
SourceFile="installer.msi"
120+
Visible="no" />
121+
</Chain>
122+
</Bundle>
123+
</Wix>
+20
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
<!--
2+
Copyright (c) Team CharLS.
3+
SPDX-License-Identifier: BSD-3-Clause
4+
-->
5+
6+
<Project Sdk="WixToolset.Sdk">
7+
<PropertyGroup>
8+
<OutputType>Bundle</OutputType>
9+
<OutputName>NetpbmWicCodecSetup-$(Version)-$(Platform)</OutputName>
10+
</PropertyGroup>
11+
12+
<ItemGroup>
13+
<PackageReference Include="WixToolset.Bal.wixext" />
14+
<PackageReference Include="WixToolset.Util.wixext" />
15+
</ItemGroup>
16+
17+
<ItemGroup>
18+
<ProjectReference Include="..\installer\installer.wixproj" />
19+
</ItemGroup>
20+
</Project>

0 commit comments

Comments
 (0)