SEBWIN-300: Added SEB file extension and URL protocols to installer.

This commit is contained in:
dbuechel 2019-07-30 15:45:20 +02:00
parent 18ac56f1c6
commit ff0f85d9f9
8 changed files with 38 additions and 16 deletions

View file

@ -1,4 +1,5 @@
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:wix="http://schemas.microsoft.com/wix/2006/wi"> <?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:wix="http://schemas.microsoft.com/wix/2006/wi">
<xsl:output method="xml" indent="yes"/> <xsl:output method="xml" indent="yes"/>
<xsl:template match="@*|node()"> <xsl:template match="@*|node()">
<xsl:copy> <xsl:copy>
@ -12,5 +13,24 @@
<xsl:text>MainExecutable</xsl:text> <xsl:text>MainExecutable</xsl:text>
</xsl:attribute> </xsl:attribute>
</xsl:copy> </xsl:copy>
<wix:File Id="ApplicationIconFile" Source="Resources\Application.ico" />
<wix:File Id="ConfigurationIconFile" Source="Resources\Configuration.ico" />
<wix:ProgId Id="ConfigurationFileExtension" Description="SEB Configuration File" Icon="ConfigurationIconFile" Advertise="no">
<wix:Extension Id="seb" ContentType="application/seb" Advertise="no">
<wix:Verb Id="open" Command="Open" Argument="&quot;%1&quot;" TargetFile="MainExecutable" />
</wix:Extension>
</wix:ProgId>
<wix:RegistryKey Root="HKCR" Key="seb">
<wix:RegistryValue Value="URL:Safe Exam Browser Protocol" Type="string" />
<wix:RegistryValue Name="URL Protocol" Value="" Type="string" />
<wix:RegistryValue Key="DefaultIcon" Value="[#ApplicationIconFile]" Type="string" />
<wix:RegistryValue Key="shell\open\command" Value="&quot;[ApplicationDirectory]$(var.SafeExamBrowser.Runtime.TargetFileName)&quot; &quot;%1&quot;" Type="string" />
</wix:RegistryKey>
<wix:RegistryKey Root="HKCR" Key="sebs">
<wix:RegistryValue Value="URL:Safe Exam Browser Secure Protocol" Type="string" />
<wix:RegistryValue Name="URL Protocol" Value="" Type="string" />
<wix:RegistryValue Key="DefaultIcon" Value="[#ApplicationIconFile]" Type="string" />
<wix:RegistryValue Key="shell\open\command" Value="&quot;[ApplicationDirectory]$(var.SafeExamBrowser.Runtime.TargetFileName)&quot; &quot;%1&quot;" Type="string" />
</wix:RegistryKey>
</xsl:template> </xsl:template>
</xsl:stylesheet> </xsl:stylesheet>

View file

@ -1,4 +1,5 @@
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:wix="http://schemas.microsoft.com/wix/2006/wi"> <?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:wix="http://schemas.microsoft.com/wix/2006/wi">
<xsl:output method="xml" indent="yes"/> <xsl:output method="xml" indent="yes"/>
<xsl:template match="@*|node()"> <xsl:template match="@*|node()">
<xsl:copy> <xsl:copy>

View file

@ -3,7 +3,7 @@
<Fragment> <Fragment>
<Directory Id="TARGETDIR" Name="SourceDir"> <Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="ProgramFilesFolder"> <Directory Id="ProgramFilesFolder">
<Directory Id="INSTALLFOLDER" Name="SafeExamBrowser"> <Directory Id="InstallFolder" Name="SafeExamBrowser">
<Directory Id="ApplicationDirectory" Name="Application" /> <Directory Id="ApplicationDirectory" Name="Application" />
<Directory Id="ResetDirectory" Name="Reset" /> <Directory Id="ResetDirectory" Name="Reset" />
<!--<Directory Id="ServiceDirectory" Name="Service" />--> <!--<Directory Id="ServiceDirectory" Name="Service" />-->

View file

@ -6,7 +6,7 @@
<MediaTemplate EmbedCab="yes" /> <MediaTemplate EmbedCab="yes" />
<UIRef Id="WixUI_Minimal" /> <UIRef Id="WixUI_Minimal" />
<MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] is already installed." AllowSameVersionUpgrades="yes" /> <MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] is already installed." AllowSameVersionUpgrades="yes" />
<Icon Id="ApplicationIcon" SourceFile="Resources\SafeExamBrowser.ico" /> <Icon Id="ApplicationIcon" SourceFile="Resources\Application.ico" />
<Property Id="ARPPRODUCTICON" Value="ApplicationIcon" /> <Property Id="ARPPRODUCTICON" Value="ApplicationIcon" />
<WixVariable Id="WixUILicenseRtf" Value="Resources\License.rtf" /> <WixVariable Id="WixUILicenseRtf" Value="Resources\License.rtf" />
<!-- <WixVariable Id="WixUIDialogBmp" Value="Resources\Dialog.bmp" /> 493 × 312 --> <!-- <WixVariable Id="WixUIDialogBmp" Value="Resources\Dialog.bmp" /> 493 × 312 -->
@ -15,7 +15,7 @@
<ComponentGroupRef Id="ApplicationComponents" /> <ComponentGroupRef Id="ApplicationComponents" />
<ComponentGroupRef Id="ResetComponents" /> <ComponentGroupRef Id="ResetComponents" />
<!--<ComponentGroupRef Id="ServiceComponents" />--> <!--<ComponentGroupRef Id="ServiceComponents" />-->
<ComponentRef Id="ShortcutComponents" /> <ComponentRef Id="ShortcutComponent" />
</Feature> </Feature>
</Product> </Product>
</Wix> </Wix>

View file

Before

Width:  |  Height:  |  Size: 361 KiB

After

Width:  |  Height:  |  Size: 361 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 361 KiB

View file

@ -72,20 +72,21 @@
<Content Include="Components\Application.xslt" /> <Content Include="Components\Application.xslt" />
<Content Include="Components\Reset.xslt" /> <Content Include="Components\Reset.xslt" />
<Content Include="Resources\License.rtf" /> <Content Include="Resources\License.rtf" />
<Content Include="Resources\SafeExamBrowser.ico" /> <Content Include="Resources\Application.ico" />
<Content Include="Resources\Configuration.ico" />
</ItemGroup> </ItemGroup>
<Import Project="$(WixTargetsPath)" Condition=" '$(WixTargetsPath)' != '' " /> <Import Project="$(WixTargetsPath)" Condition=" '$(WixTargetsPath)' != '' " />
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\WiX\v3.x\Wix.targets" Condition=" '$(WixTargetsPath)' == '' AND Exists('$(MSBuildExtensionsPath32)\Microsoft\WiX\v3.x\Wix.targets') " /> <Import Project="$(MSBuildExtensionsPath32)\Microsoft\WiX\v3.x\Wix.targets" Condition=" '$(WixTargetsPath)' == '' AND Exists('$(MSBuildExtensionsPath32)\Microsoft\WiX\v3.x\Wix.targets') " />
<Target Name="EnsureWixToolsetInstalled" Condition=" '$(WixTargetsImported)' != 'true' "> <Target Name="EnsureWixToolsetInstalled" Condition=" '$(WixTargetsImported)' != 'true' ">
<Error Text="The WiX Toolset v3.11 (or newer) build tools must be installed to build this project. To download the WiX Toolset, see http://wixtoolset.org/releases/" /> <Error Text="The WiX Toolset v3.11 (or newer) build tools must be installed to build this project. To download the WiX Toolset, see http://wixtoolset.org/releases/" />
</Target> </Target>
<PropertyGroup>
<PostBuildEvent>git -C $(SolutionDir) checkout -- Setup/Components/Application.wxs
git -C $(SolutionDir) checkout -- Setup/Components/Reset.wxs</PostBuildEvent>
</PropertyGroup>
<PropertyGroup> <PropertyGroup>
<PreBuildEvent>"$(WIX)bin\heat.exe" dir "$(SolutionDir)SafeExamBrowser.ResetUtility\bin\$(PlatformName)\$(ConfigurationName)" -nologo -ag -g1 -srd -cg ResetComponents -dr ResetDirectory -sfrag -var var.SafeExamBrowser.ResetUtility.TargetDir -out $(ProjectDir)Components\Reset.wxs -t $(ProjectDir)Components\Reset.xslt <PreBuildEvent>"$(WIX)bin\heat.exe" dir "$(SolutionDir)SafeExamBrowser.ResetUtility\bin\$(PlatformName)\$(ConfigurationName)" -nologo -ag -g1 -srd -cg ResetComponents -dr ResetDirectory -sfrag -var var.SafeExamBrowser.ResetUtility.TargetDir -out $(ProjectDir)Components\Reset.wxs -t $(ProjectDir)Components\Reset.xslt
"$(WIX)bin\heat.exe" dir "$(SolutionDir)SafeExamBrowser.Runtime\bin\$(PlatformName)\$(ConfigurationName)" -nologo -ag -g1 -srd -cg ApplicationComponents -dr ApplicationDirectory -sfrag -var var.SafeExamBrowser.Runtime.TargetDir -out $(ProjectDir)Components\Application.wxs -t $(ProjectDir)Components\Application.xslt</PreBuildEvent> "$(WIX)bin\heat.exe" dir "$(SolutionDir)SafeExamBrowser.Runtime\bin\$(PlatformName)\$(ConfigurationName)" -nologo -ag -g1 -srd -cg ApplicationComponents -dr ApplicationDirectory -sfrag -var var.SafeExamBrowser.Runtime.TargetDir -out $(ProjectDir)Components\Application.wxs -t $(ProjectDir)Components\Application.xslt</PreBuildEvent>
</PropertyGroup>
<PropertyGroup>
<PostBuildEvent>git -C $(SolutionDir) checkout -- Setup/Components/Application.wxs
git -C $(SolutionDir) checkout -- Setup/Components/Reset.wxs</PostBuildEvent>
</PropertyGroup> </PropertyGroup>
<!-- <!--
To modify your build process, add your task inside one of the targets below and uncomment it. To modify your build process, add your task inside one of the targets below and uncomment it.

View file

@ -1,15 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"> <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Fragment> <Fragment>
<Component Id="ShortcutComponents" Guid="F6B8A57A-84BB-4264-96C5-3DD59F745E58" Directory="StartMenuDirectory"> <Component Id="ShortcutComponent" Directory="StartMenuDirectory">
<Shortcut Id="ApplicationShortcut" Name="Safe Exam Browser" Icon="ApplicationIcon" IconIndex="0" Advertise="no" Directory="ProgramMenuFolder" <Shortcut Id="ApplicationShortcut" Name="Safe Exam Browser" Icon="ApplicationIcon" IconIndex="0" Advertise="no" Directory="ProgramMenuFolder"
Target="[ApplicationDirectory]\$(var.SafeExamBrowser.Runtime.TargetFileName)" WorkingDirectory="ApplicationDirectory" Target="[ApplicationDirectory]\$(var.SafeExamBrowser.Runtime.TargetFileName)" WorkingDirectory="ApplicationDirectory"
Description="Starts the main application." /> Description="Starts the main application." />
<Shortcut Id="ResetUtilityShortcut" Name="SEB Reset Utility" Icon="ApplicationIcon" IconIndex="0" Advertise="no" Directory="StartMenuDirectory" <Shortcut Id="ResetUtilityShortcut" Name="SEB Reset Utility" Icon="ApplicationIcon" IconIndex="0" Advertise="no" Directory="StartMenuDirectory"
Target="[ResetDirectory]\$(var.SafeExamBrowser.ResetUtility.TargetFileName)" WorkingDirectory="ResetDirectory" Target="[ResetDirectory]\$(var.SafeExamBrowser.ResetUtility.TargetFileName)" WorkingDirectory="ResetDirectory"
Description="Provides options to reset any changes made by the main application." /> Description="Provides options to reset any changes made by the main application." />
<RemoveFolder Id="StartMenuDirectory" On="uninstall" /> <RemoveFolder Id="StartMenuDirectory" On="uninstall" />
<RegistryValue Root="HKCU" Key="Software\[Manufacturer]\[ProductName]" Name="installed" Type="integer" Value="1" KeyPath="yes"/> <RegistryValue Root="HKCU" Key="Software\[Manufacturer]\[ProductName]" Name="installed" Type="integer" Value="1" KeyPath="yes" />
</Component> </Component>
</Fragment> </Fragment>
</Wix> </Wix>