Skip to content

Instantly share code, notes, and snippets.

@kashcode
Created December 27, 2017 19:47
Show Gist options
  • Save kashcode/18141f97c3a8c6fc4a84c7f438041520 to your computer and use it in GitHub Desktop.
Save kashcode/18141f97c3a8c6fc4a84c7f438041520 to your computer and use it in GitHub Desktop.
<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<?define ProductName="EDUS Agent" ?>
<?define ProductVersion="1.0.0.0" ?>
<?define ProductCode="A24F9B47-6852-4B4B-B1D9-EF222E75F9E5"?>
<?define UpgradeCode="96224cdd-760a-468f-9bc4-9d29664a0569"?>
<?define Manufacturer="Softikom"?>
<Product Codepage="utf-8"
Id="*"
Name="$(var.ProductName)"
Language="1033"
Version="!(bind.fileVersion.FILE_ScannerAppExe)"
Manufacturer="$(var.Manufacturer)"
UpgradeCode="96224cdd-760a-468f-9bc4-9d29664a0569">
<Package InstallerVersion="200"
Compressed="yes"
InstallScope="perMachine"
Manufacturer="$(var.Manufacturer)"
Description="$(var.ScannerApp.ProjectName)"
Keywords="Installer,MSI"
Comments="(c) 2015 Softikom" />
<UIRef Id="WixUI_InstallDir" />
<UIRef Id="WixUI_ErrorProgressText" />
<PropertyRef Id="NETFRAMEWORK40CLIENT" />
<Condition Message="You must install Microsoft .NET Framework 4.0 or higher.">
<![CDATA[Installed OR NETFRAMEWORK40CLIENT]]>
</Condition>
<MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] is already installed."
Schedule="afterInstallInitialize" />
<MediaTemplate EmbedCab="yes" />
<Feature Id="ProductFeature" Title="EDUS Agent Installer" Level="1">
<ComponentGroupRef Id="EdusAgentComponentGroup" />
<ComponentGroupRef Id="EdusAgentShortcutsComponentGroup"/>
<ComponentGroupRef Id="RegistryEntriesComponentGroup"/>
<ComponentGroupRef Id="ServiceComponentGroup"/>
</Feature>
<Icon Id="ikona.ico" SourceFile="$(var.ScannerApp.ProjectDir)ikona.ico" />
<Property Id="ARPPRODUCTICON" Value="ikona.ico" ></Property>
<WixVariable Id="WixUILicenseRtf" Value="license.rtf" />
<Property Id="WIXUI_INSTALLDIR" Value="INSTALLDIR" />
</Product>
<Fragment>
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="ProgramFilesFolder">
<Directory Id="SoftikomFolder" Name="Softikom">
<Directory Id="INSTALLDIR" Name="EDUS Agent" /> <!-- EdusAgentFolder -->
</Directory>
</Directory>
<!-- shortcut directories -->
<Directory Id="ProgramMenuFolder">
<Directory Id="ProgramMenuSoftikomFolder" Name="Softikom">
<Directory Id="ProgramMenuEdusAgentFolder" Name="EDUS Agent" />
</Directory>
</Directory>
</Directory>
</Fragment>
<Fragment>
<ComponentGroup Id="EdusAgentComponentGroup" Directory="INSTALLDIR">
<Component Id="CMP_ScannerAppExe" Guid="E8A58B7B-F031-4548-9BDD-7A6796C8460D">
<File Id="FILE_ScannerAppExe" Source="$(var.ScannerApp.TargetDir)ScannerApp.exe" KeyPath="yes" />
</Component>
<Component Id="CMP_ScannerAppExeConfig" Guid="C86EC9A4-1AA9-4035-85D2-57B8D4329420">
<File Id="FILE_ScannerAppExeConfig" Source="$(var.ScannerApp.TargetDir)ScannerApp.exe.config" KeyPath="yes" />
</Component>
<Component Id="CMP_GalaSoftMvvmLightExtrasDll" Guid="2145379F-67BB-4348-8E0E-53AD0EB439B1">
<File Id="FILE_GalaSoftMvvmLightExtrasDll" Source="$(var.ScannerApp.TargetDir)GalaSoft.MvvmLight.Extras.dll" KeyPath="yes" />
</Component>
<Component Id="CMP_GalaSoftMvvmLightDll" Guid="E0054049-2E12-4F13-9103-2CBFA0F255ED">
<File Id="FILE_GalaSoftMvvmLightDll" Source="$(var.ScannerApp.TargetDir)GalaSoft.MvvmLight.dll" KeyPath="yes" />
</Component>
<Component Id="CMP_GongSolutionsWpfDragDropDll" Guid="C418156B-36F0-4DF8-A15B-C3C3ACB9F18B">
<File Id="FILE_GongSolutionsWpfDragDropDll" Source="$(var.ScannerApp.TargetDir)GongSolutions.Wpf.DragDrop.dll" KeyPath="yes"/>
</Component>
<Component Id="CMP_MicrosoftPracticesServiceLocationDll" Guid="62D199C4-2C87-4A3F-A2F6-20D3D4600FE8">
<File Id="FILE_MicrosoftPracticesServiceLocationDll" Source="$(var.ScannerApp.TargetDir)Microsoft.Practices.ServiceLocation.dll" KeyPath="yes"/>
</Component>
<Component Id="CMP_RestSharpDll" Guid="D99C8F33-719D-4682-9650-FC5569CE2CC4">
<File Id="FILE_RestSharpDll" Source="$(var.ScannerApp.TargetDir)RestSharp.dll" KeyPath="yes"/>
</Component>
<Component Id="CMP_SaraffTwainDll" Guid="3347687B-510F-42B7-AEC9-DC60BC32FA4C">
<File Id="FILE_SaraffTwainDll" Source="$(var.ScannerApp.TargetDir)Saraff.Twain.dll" KeyPath="yes"/>
</Component>
<Component Id="CMP_SystemWindowsInteractivityDll" Guid="58249899-BC72-45FB-8392-353ACBE5EF76">
<File Id="FILE_SystemWindowsInteractivityDll" Source="$(var.ScannerApp.TargetDir)System.Windows.Interactivity.dll" KeyPath="yes"/>
</Component>
<Component Id="CMP_ZxingDll" Guid="69BC145A-C7E4-4C07-BAA9-6F2680D512E5">
<File Id="FILE_ZxingDll" Source="$(var.ScannerApp.TargetDir)zxing.dll" KeyPath="yes"/>
</Component>
<Component Id="CMP_ZxingPresentationDll" Guid="0765A619-3AE3-41BB-88BF-5772D1427DD5">
<File Id="FILE_ZxingPresentationDll" Source="$(var.ScannerApp.TargetDir)zxing.presentation.dll" KeyPath="yes"/>
</Component>
<Component Id="CMP_NewtonsoftJsonDll" Guid="678B2F56-8188-4814-91E3-F8A8ED811B35">
<File Id="FILE_NewtonsoftJsonDll" Source="$(var.ScannerApp.TargetDir)Newtonsoft.Json.dll" KeyPath="yes"/>
</Component>
<Component Id="CMP_XceedWpfToolkit" Guid="008D792F-7FB3-44F2-A043-8082AA1262BF">
<File Id="FILE_XceedWpfToolkit" Source="$(var.ScannerApp.TargetDir)Xceed.Wpf.Toolkit.dll" KeyPath="yes"/>
</Component>
<Component Id="CMP_CroppingAdorner" Guid="763D8F43-B04C-4C34-B5ED-07E76E905736">
<File Id="FILE_CroppingAdorner" Source="$(var.ScannerApp.TargetDir)CroppingAdorner.dll" KeyPath="yes"/>
</Component>
<Component Id="CMP_ImageProcessor" Guid="4ABD76C1-D8AD-404D-A716-F0D1CFC9FE48">
<File Id="FILE_ImageProcessor" Source="$(var.ScannerApp.TargetDir)ImageProcessor.dll" KeyPath="yes"/>
</Component>
<Component Id="CMP_Log4Net" Guid="A7E17768-E8B1-4B9E-9733-B85684A40554">
<File Id="FILE_Log4Net" Source="$(var.ScannerApp.TargetDir)log4net.dll" KeyPath="yes"/>
</Component>
<Component Id="CMP_Log4NetConfig" Guid="88087662-0C58-49E8-BB40-137F74827DB8">
<File Id="FILE_Log4NetConfig" Source="$(var.ScannerApp.TargetDir)Log4Net.config" KeyPath="yes"/>
</Component>
<Component Id="CMP_MahAppsMetroDll" Guid="65B8E933-1824-49C7-BC8F-063DC4A23E65">
<File Id="FILE_MahAppsMetroDll" Source="$(var.ScannerApp.TargetDir)MahApps.Metro.dll" KeyPath="yes"/>
</Component>
<Component Id="CMP_MicrosoftThreadingTasksDll" Guid="9BFB0859-F488-485D-AEF5-8A96B8CE4D6A">
<File Id="FILE_MicrosoftThreadingTasksDll" Source="$(var.ScannerApp.TargetDir)Microsoft.Threading.Tasks.dll" KeyPath="yes"/>
</Component>
<Component Id="CMP_MicrosoftThreadingTasksExtensionsDesktopDll" Guid="C8959EDD-0BFD-4BC4-957E-9ED8006BABF6">
<File Id="FILE_MicrosoftThreadingTasksExtensionsDesktopDll" Source="$(var.ScannerApp.TargetDir)Microsoft.Threading.Tasks.Extensions.Desktop.dll" KeyPath="yes"/>
</Component>
<Component Id="CMP_MicrosoftThreadingTasksExtensionsDll" Guid="DBAF1314-1B65-4BCE-A5C9-B6FAD06E9FB2">
<File Id="FILE_MicrosoftThreadingTasksExtensionsDll" Source="$(var.ScannerApp.TargetDir)Microsoft.Threading.Tasks.Extensions.dll" KeyPath="yes"/>
</Component>
<Component Id="CMP_SystemIODll" Guid="05B4504A-58B2-4266-BDEC-A4D0A1130493">
<File Id="FILE_SystemIODll" Source="$(var.ScannerApp.TargetDir)System.IO.dll" KeyPath="yes"/>
</Component>
<Component Id="CMP_SystemRuntimeDll" Guid="AE6ACAFA-B812-4D4B-B938-C4FB175BA12D">
<File Id="FILE_SystemRuntimeDll" Source="$(var.ScannerApp.TargetDir)System.Runtime.dll" KeyPath="yes"/>
</Component>
<Component Id="CMP_SystemThreadingTasksDll" Guid="4BA93EE4-BCBD-44C6-B577-C7411ED901A7">
<File Id="FILE_SystemThreadingTasksDll" Source="$(var.ScannerApp.TargetDir)System.Threading.Tasks.dll" KeyPath="yes"/>
</Component>
</ComponentGroup>
<ComponentGroup Id="EdusAgentShortcutsComponentGroup" Directory="ProgramMenuEdusAgentFolder">
<Component Id="ProgramMenuShortcutsComponent"
Guid="6B5F323C-462C-47B6-9104-47D6FE1F26D3">
<!-- remove folder -->
<RemoveFolder Id="RemoveProgramMenuSoftikomFolder"
Directory="ProgramMenuSoftikomFolder"
On="uninstall" />
<RemoveFolder Id="RemoveProgramMenuEdusAgentFolder"
Directory="ProgramMenuEdusAgentFolder"
On="uninstall" />
<!-- shortcut in subfolder -->
<Shortcut Id="EdusAgentFolderShortcut"
Name="EDUS Agent"
Target="[INSTALLDIR]ScannerApp.exe"
Directory="ProgramMenuEdusAgentFolder" />
<!-- RegistryValue whichs serves as KeyPath -->
<RegistryValue Root="HKCU"
Key="Software\Softikom\EDUS Agent"
Name="InstalledStartMenuShortcuts"
Type="integer"
Value="1" />
</Component>
</ComponentGroup>
<ComponentGroup Id="RegistryEntriesComponentGroup" Directory="TARGETDIR">
<Component Id="RegistryEntries" Guid="54BB36C1-87A8-49C8-A58B-3E7CD82F7F13">
<RegistryKey Root="HKLM"
Key="SYSTEM\CurrentControlSet\Control\StillImage\Events\STIProxyEvent\{9414E666-A8DE-4803-8D1F-CE912BE67D19}"
Action="createAndRemoveOnUninstall">
<RegistryValue Type="string" Name="Cmdline" Value="[INSTALLDIR]ScannerApp.exe scan /StiDevice:%1 /StiEvent:%2" KeyPath="yes"/>
<RegistryValue Type="string" Name="Desc" Value="EDUS Agent"/>
<RegistryValue Type="string" Name="Icon" Value="sti.dll,0"/>
<RegistryValue Type="string" Name="Name" Value="EDUS Agent"/>
</RegistryKey>
</Component>
</ComponentGroup>
<ComponentGroup Id="ServiceComponentGroup" Directory="TARGETDIR">
<Component Id="StiServices" Guid="A9E9C214-CC71-4CC8-A564-5535A731D111">
<ServiceControl Id="startAndStopStisvc"
Name="stisvc"
Start="both"
Stop="both"
Wait="yes" />
</Component>
</ComponentGroup>
</Fragment>
</Wix>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment