Skip to content

Commit

Permalink
Replaced updater 🎉
Browse files Browse the repository at this point in the history
  • Loading branch information
nefarius committed Feb 4, 2024
1 parent d514d9e commit bbd9eda
Showing 1 changed file with 13 additions and 42 deletions.
55 changes: 13 additions & 42 deletions Setup/HidHide.aip
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,10 @@
<ROW Property="ARPURLUPDATEINFO" Value="https://github.com/nefarius/HidHide/releases"/>
<ROW Property="IAgree" Value="No" Type="4"/>
<ROW Property="Manufacturer" Value="Nefarius Software Solutions e.U."/>
<ROW Property="ProductCode" Value="1033:{41DC2CF5-D952-4EC5-B90B-136E59430EA0} " Type="16"/>
<ROW Property="ProductCode" Value="1033:{EB747840-2A54-468E-BDD2-24FC9D3E3FC0} " Type="16"/>
<ROW Property="ProductLanguage" Value="1033"/>
<ROW Property="ProductName" Value="HidHide"/>
<ROW Property="ProductVersion" Value="1.4.202" Options="32"/>
<ROW Property="ProductVersion" Value="1.5.202" Options="32"/>
<ROW Property="REBOOT" MultiBuildValue="DefaultBuild:Force"/>
<ROW Property="SecureCustomProperties" Value="OLDPRODUCTS;AI_NEWERPRODUCTFOUND;UPGRADE_1"/>
<ROW Property="UpgradeCode" Value="{8822CC70-E2A5-4CB7-8F14-E27101150A1D}"/>
Expand Down Expand Up @@ -59,8 +59,8 @@
<ROW Component="hidhide.cat" ComponentId="{35CB06F9-C51D-4996-BBC9-4F000A66462D}" Directory_="HidHide_Dir" Attributes="0" KeyPath="hidhide.cat" Type="0"/>
<ROW Component="hidhide_hid.cat" ComponentId="{140B90CF-C350-460A-939A-7DA0B8A8377C}" Directory_="HidHide_Dir" Attributes="0" KeyPath="LICENSE.rtf" Type="0"/>
<ROW Component="install.cmd" ComponentId="{9D670EEF-F372-47BF-96BD-D1C5960200A4}" Directory_="x64_Dir" Attributes="0" KeyPath="install.cmd" Type="0"/>
<ROW Component="nefarius_HidHide_Updater.exe" ComponentId="{8723E8D2-15C4-4B5E-B2D6-3BBBB76B6A00}" Directory_="x64_Dir" Attributes="256" KeyPath="nefarius_HidHide_Updater.exe"/>
<ROW Component="nefconw.exe" ComponentId="{F306D60E-E3CF-4C2D-B69C-F0AED9032A08}" Directory_="x64_Dir" Attributes="256" KeyPath="nefconw.exe"/>
<ROW Component="updater.exe" ComponentId="{CA7884F6-0DC9-488F-923B-7F3857E26894}" Directory_="APPDIR" Attributes="0" KeyPath="updater.exe"/>
</COMPONENT>
<COMPONENT cid="caphyon.advinst.msicomp.MsiFeatsComponent">
<ROW Feature="C4FE6FD5B7C4D07B3A313E754A9A6A8" Title="Visual C++ Redistributable for Visual Studio 2015-2022 x64" Description="Visual C++ Redistributable for Visual Studio 2015-2022 x64" Display="3" Level="1" Attributes="16"/>
Expand All @@ -81,11 +81,11 @@
<ROW File="install.cmd" Component_="install.cmd" FileName="install.cmd" Attributes="0" SourcePath="install.cmd" SelfReg="false"/>
<ROW File="nefconw.exe" Component_="nefconw.exe" FileName="nefconw.exe" Attributes="0" SourcePath="nefconw.exe" SelfReg="false" DigSign="true"/>
<ROW File="uninstall.cmd" Component_="install.cmd" FileName="UNINST~1.CMD|uninstall.cmd" Attributes="0" SourcePath="uninstall.cmd" SelfReg="false"/>
<ROW File="updater.exe" Component_="updater.exe" FileName="HIDHID~1.EXE|HidHide_Updater.exe" Version="65535.65535.65535.65535" Attributes="0" SourcePath="&lt;AI_STUBS&gt;updater.exe" SelfReg="false" DigSign="true"/>
<ROW File="hidhide.cat" Component_="hidhide.cat" FileName="hidhide.cat" Attributes="0" SourcePath="..\drivers\x64\HidHide\hidhide.cat" SelfReg="false"/>
<ROW File="HidHide.inf" Component_="hidhide.cat" FileName="HidHide.inf" Attributes="0" SourcePath="..\drivers\x64\HidHide\HidHide.inf" SelfReg="false"/>
<ROW File="HidHide.man" Component_="HidHide.man" FileName="HidHide.man" Attributes="0" SourcePath="..\HidHide\HidHide.man" SelfReg="false"/>
<ROW File="HidHideWatchdog.exe" Component_="HidHideWatchdog.exe" FileName="HIDHID~3.EXE|HidHideWatchdog.exe" Attributes="0" SourcePath="..\artifacts\bin\Release\x64\HidHideWatchdog.exe" SelfReg="false"/>
<ROW File="nefarius_HidHide_Updater.exe" Component_="nefarius_HidHide_Updater.exe" FileName="NEFARI~1.EXE|nefarius_HidHide_Updater.exe" Attributes="0" SourcePath="nefarius_HidHide_Updater.exe" SelfReg="false"/>
</COMPONENT>
<COMPONENT cid="caphyon.advinst.msicomp.BootstrOptComponent">
<ROW BootstrOptKey="GlobalOptions" DownloadFolder="[AppDataFolder][|Manufacturer]\[|ProductName]\prerequisites" Options="2"/>
Expand Down Expand Up @@ -137,11 +137,6 @@
<ROW Action="AI_InstallPostPrerequisite" Description="Installing prerequisite software" DescriptionLocId="ActionText.Description.AI_InstallPrerequisite" Template="Installing [1]{[2] completed}" TemplateLocId="ActionText.Template.AI_InstallPrerequisite"/>
<ROW Action="AI_InstallPrePrerequisite" Description="Installing prerequisite software" DescriptionLocId="ActionText.Description.AI_InstallPrerequisite" Template="[1]" TemplateLocId="ActionText.Template.AI_InstallPrerequisite"/>
<ROW Action="AI_InstallPrerequisite" Description="Installing prerequisite software" DescriptionLocId="ActionText.Description.AI_InstallPrerequisite" Template="Installing [1]{[2] completed}" TemplateLocId="ActionText.Template.AI_InstallPrerequisite"/>
<ROW Action="AI_ProcessTasks2" Description="Generating actions to schedule tasks on the local computer:" DescriptionLocId="ActionText.Description.AI_ProcessTasks" Template="Task Name: [1]" TemplateLocId="ActionText.Template.AI_ProcessTasks"/>
<ROW Action="AI_RemoveTasks2" Description="Removing scheduled task from the local computer" DescriptionLocId="ActionText.Description.AI_RemoveTasks" Template="Task Name: [1]" TemplateLocId="ActionText.Template.AI_RemoveTasks"/>
<ROW Action="AI_RollbackTasks2" Description="Rolling back scheduled task on the local computer" DescriptionLocId="ActionText.Description.AI_RollbackTasks" Template="Task Name: [1]" TemplateLocId="ActionText.Template.AI_RollbackTasks"/>
<ROW Action="AI_ScheduleTasks2" Description="Scheduling task on the local computer" DescriptionLocId="ActionText.Description.AI_ScheduleTasks" Template="Task Name: [1]" TemplateLocId="ActionText.Template.AI_ScheduleTasks"/>
<ROW Action="AI_UninstallTasks2" Description="Generating actions to remove scheduled tasks from the local computer:" DescriptionLocId="ActionText.Description.AI_UninstallTasks"/>
<ROW Action="AI_VerifyPrePrereq" Description="Verifying prerequisites" DescriptionLocId="ActionText.Description.AI_VerifyPrereq" Template="[1] was not installed correctly." TemplateLocId="ActionText.Template.AI_VerifyPrereq"/>
<ROW Action="AI_VerifyPrereq" Description="Verifying prerequisites" DescriptionLocId="ActionText.Description.AI_VerifyPrereq" Template="[1] was not installed correctly." TemplateLocId="ActionText.Template.AI_VerifyPrereq"/>
</COMPONENT>
Expand All @@ -150,7 +145,6 @@
<ROW Name="Prereq.dll" SourcePath="&lt;AI_CUSTACTS&gt;Prereq.dll"/>
<ROW Name="aicustact.dll" SourcePath="&lt;AI_CUSTACTS&gt;aicustact.dll"/>
<ROW Name="aipackagechainer.exe" SourcePath="&lt;AI_CUSTACTS&gt;aipackagechainer.exe" DigSign="true"/>
<ROW Name="aischeduler2.dll" SourcePath="&lt;AI_CUSTACTS&gt;aischeduler2.dll"/>
<ROW Name="file_deleter.ps1" SourcePath="&lt;AI_SCRIPTS&gt;file_deleter.ps1"/>
<ROW Name="lzmaextractor.dll" SourcePath="&lt;AI_CUSTACTS&gt;lzmaextractor.dll"/>
</COMPONENT>
Expand Down Expand Up @@ -233,25 +227,21 @@
<ROW Action="AI_LaunchChainer" Type="3314" Source="AI_PREREQ_CHAINER"/>
<ROW Action="AI_PREPARE_UPGRADE" Type="65" Source="aicustact.dll" Target="PrepareUpgrade"/>
<ROW Action="AI_PRESERVE_INSTALL_TYPE" Type="65" Source="aicustact.dll" Target="PreserveInstallType"/>
<ROW Action="AI_ProcessTasks2" Type="1" Source="aischeduler2.dll" Target="ProcessTasks"/>
<ROW Action="AI_RESTORE_AI_SETUPEXEPATH" Type="51" Source="AI_SETUPEXEPATH" Target="[AI_SETUPEXEPATH_ORIGINAL]"/>
<ROW Action="AI_RemoveTasks2" Type="11265" Source="aischeduler2.dll" Target="DeleteTasks" WithoutSeq="true"/>
<ROW Action="AI_ResolveKnownFolders" Type="1" Source="aicustact.dll" Target="AI_ResolveKnownFolders"/>
<ROW Action="AI_RollbackPrePrereq" Type="65" Source="Prereq.dll" Target="RollbackPrePrereq" WithoutSeq="true"/>
<ROW Action="AI_RollbackTasks2" Type="11521" Source="aischeduler2.dll" Target="DeleteTasks" WithoutSeq="true"/>
<ROW Action="AI_SHOW_LOG" Type="65" Source="aicustact.dll" Target="LaunchLogFile" WithoutSeq="true"/>
<ROW Action="AI_STORE_LOCATION" Type="51" Source="ARPINSTALLLOCATION" Target="[APPDIR]"/>
<ROW Action="AI_ScheduleTasks2" Type="11265" Source="aischeduler2.dll" Target="ScheduleTasks" WithoutSeq="true"/>
<ROW Action="AI_UPDATER_UNINSTALL" Type="82" Source="updater.exe" Target="/clean silent"/>
<ROW Action="AI_UninstallTasks2" Type="1" Source="aischeduler2.dll" Target="UninstallTasks"/>
<ROW Action="AI_VerifyPrePrereq" Type="1" Source="Prereq.dll" Target="VerifyPrePrereq"/>
<ROW Action="AI_VerifyPrereq" Type="1" Source="Prereq.dll" Target="VerifyPrereq"/>
<ROW Action="AddClassHID" Type="1106" Source="nefconw.exe" Target="--add-class-filter --position upper --service-name HidHide --class-guid 745a17a0-74d3-11d0-b6fe-00a0c90f57da"/>
<ROW Action="AddClassXBOX" Type="1106" Source="nefconw.exe" Target="--add-class-filter --position upper --service-name HidHide --class-guid 05f5cfe2-4733-4950-a6bb-07aad01a3a84"/>
<ROW Action="AddClassXNA" Type="1106" Source="nefconw.exe" Target="--add-class-filter --position upper --service-name HidHide --class-guid d61ca365-5af4-4486-998b-9db4734c6ca3"/>
<ROW Action="AddDeviceNode" Type="1106" Source="nefconw.exe" Target="--create-device-node --hardware-id root\HidHide --class-name System --class-guid 4D36E97D-E325-11CE-BFC1-08002BE10318"/>
<ROW Action="DeregisterUpdater" Type="1106" Source="nefarius_HidHide_Updater.exe" Target="--uninstall"/>
<ROW Action="InstallDriver" Type="1106" Source="nefconw.exe" Target="--install-driver --inf-path &quot;[HidHide_Dir]HidHide.inf&quot;"/>
<ROW Action="InstallETWManifest" Type="98" Source="SystemFolder" Target="&quot;[System32Folder]\wevtutil.exe&quot; im &quot;[APPDIR]\HidHide.man&quot;"/>
<ROW Action="RegisterUpdater" Type="1042" Source="nefarius_HidHide_Updater.exe" Target="--install"/>
<ROW Action="RemoveClassHID" Type="1106" Source="nefconw.exe" Target="--remove-class-filter --position upper --service-name HidHide --class-guid 745a17a0-74d3-11d0-b6fe-00a0c90f57da"/>
<ROW Action="RemoveClassXBOX" Type="1106" Source="nefconw.exe" Target="--remove-class-filter --position upper --service-name HidHide --class-guid 05f5cfe2-4733-4950-a6bb-07aad01a3a84"/>
<ROW Action="RemoveClassXNA" Type="1106" Source="nefconw.exe" Target="--remove-class-filter --position upper --service-name HidHide --class-guid d61ca365-5af4-4486-998b-9db4734c6ca3"/>
Expand All @@ -274,29 +264,17 @@
<ROW Feature_="HidHide_HID" Component_="HidHide.sys"/>
<ROW Feature_="MainFeature" Component_="install.cmd"/>
<ROW Feature_="MainFeature" Component_="nefconw.exe"/>
<ROW Feature_="MainFeature" Component_="updater.exe"/>
<ROW Feature_="MainFeature" Component_="hidhide.cat"/>
<ROW Feature_="MainFeature" Component_="HidHide.man"/>
<ROW Feature_="MainFeature" Component_="HidHideWatchdog.exe"/>
<ROW Feature_="MainFeature" Component_="nefarius_HidHide_Updater.exe"/>
</COMPONENT>
<COMPONENT cid="caphyon.advinst.msicomp.MsiIconsComponent">
<ROW Name="Application.exe" SourcePath="..\HidHideCLI\src\Application.ico" Index="0"/>
</COMPONENT>
<COMPONENT cid="caphyon.advinst.msicomp.MsiIniFileComponent">
<ROW IniFile="AppDir" FileName="HIDHID~1.INI|HidHide_Updater.ini" DirProperty="APPDIR" Section="General" Key="AppDir" Value="[APPDIR]" Action="0" Component_="updater.exe"/>
<ROW IniFile="ApplicationName" FileName="HIDHID~1.INI|HidHide_Updater.ini" DirProperty="APPDIR" Section="General" Key="ApplicationName" Value="[ProductName]" Action="0" Component_="updater.exe"/>
<ROW IniFile="ApplicationVersion" FileName="HIDHID~1.INI|HidHide_Updater.ini" DirProperty="APPDIR" Section="General" Key="ApplicationVersion" Value="[ProductVersion]" Action="0" Component_="updater.exe"/>
<ROW IniFile="CheckFrequency" FileName="HIDHID~1.INI|HidHide_Updater.ini" DirProperty="APPDIR" Section="General" Key="CheckFrequency" Value="2" Action="0" Component_="updater.exe"/>
<ROW IniFile="CompanyName" FileName="HIDHID~1.INI|HidHide_Updater.ini" DirProperty="APPDIR" Section="General" Key="CompanyName" Value="[Manufacturer]" Action="0" Component_="updater.exe"/>
<ROW IniFile="DefaultCommandLine" FileName="HIDHID~1.INI|HidHide_Updater.ini" DirProperty="APPDIR" Section="General" Key="DefaultCommandLine" Value="/checknow" Action="0" Component_="updater.exe"/>
<ROW IniFile="DownloadsFolder" FileName="HIDHID~1.INI|HidHide_Updater.ini" DirProperty="APPDIR" Section="General" Key="DownloadsFolder" Value="[CommonAppDataFolder]\Nefarius Software Solutions\[ProductName]\updates" Action="0" Component_="updater.exe"/>
<ROW IniFile="Flags" FileName="HIDHID~1.INI|HidHide_Updater.ini" DirProperty="APPDIR" Section="General" Key="Flags" Value="PerMachine" Action="0" Component_="updater.exe"/>
<ROW IniFile="ID" FileName="HIDHID~1.INI|HidHide_Updater.ini" DirProperty="APPDIR" Section="General" Key="ID" Value="[UpgradeCode]" Action="0" Component_="updater.exe"/>
<ROW IniFile="URL" FileName="HIDHID~1.INI|HidHide_Updater.ini" DirProperty="APPDIR" Section="General" Key="URL" Value="https://aiu.api.nefarius.systems/api/github/nefarius/HidHide/updates" Action="0" Component_="updater.exe"/>
</COMPONENT>
<COMPONENT cid="caphyon.advinst.msicomp.MsiInstExSeqComponent">
<ROW Action="AI_DOWNGRADE" Condition="AI_NEWERPRODUCTFOUND AND (UILevel &lt;&gt; 5)" Sequence="210"/>
<ROW Action="AI_STORE_LOCATION" Condition="(Not Installed) OR REINSTALL" Sequence="1506"/>
<ROW Action="AI_STORE_LOCATION" Condition="(Not Installed) OR REINSTALL" Sequence="1507"/>
<ROW Action="AI_PREPARE_UPGRADE" Condition="AI_UPGRADE=&quot;No&quot; AND (Not Installed)" Sequence="1397"/>
<ROW Action="AI_ResolveKnownFolders" Sequence="52"/>
<ROW Action="AI_EnableDebugLog" Sequence="51"/>
Expand All @@ -315,13 +293,10 @@
<ROW Action="RemoveClassXBOX" Condition="( Installed AND ( REMOVE = &quot;ALL&quot; OR AI_INSTALL_MODE = &quot;Remove&quot; ) )" Sequence="1603"/>
<ROW Action="UninstallDriver" Condition="( Installed AND ( REMOVE = &quot;ALL&quot; OR AI_INSTALL_MODE = &quot;Remove&quot; ) )" Sequence="1605"/>
<ROW Action="ForceReboot" Condition="AI_UPGRADE&lt;&gt;&quot;No&quot; AND OLDPRODUCTS AND AFTERREBOOT&lt;&gt;1" Sequence="1502" SeqType="0"/>
<ROW Action="AI_UPDATER_UNINSTALL" Condition="($updater.exe = 2) AND (?updater.exe = 3) AND NOT (UPGRADINGPRODUCTCODE)" Sequence="1551"/>
<ROW Action="AI_ProcessTasks2" Condition="(VersionNT &gt;= 600) AND (REMOVE&lt;&gt;&quot;ALL&quot;)" Sequence="1624"/>
<ROW Action="AI_UninstallTasks2" Condition="(VersionNT &gt;= 600) AND (REMOVE=&quot;ALL&quot;)" Sequence="1699"/>
<ROW Action="AddDeviceNode" Condition="( NOT Installed )" Sequence="6401"/>
<ROW Action="UninstallDevice" Condition="( Installed AND ( REMOVE = &quot;ALL&quot; OR AI_INSTALL_MODE = &quot;Remove&quot; ) )" Sequence="1604"/>
<ROW Action="InstallETWManifest" Condition="( NOT Installed )" Sequence="6406"/>
<ROW Action="UninstallETWManifest" Condition="( Installed AND ( REMOVE = &quot;ALL&quot; OR AI_INSTALL_MODE = &quot;Remove&quot; ) )" Sequence="1503"/>
<ROW Action="UninstallETWManifest" Condition="( Installed AND ( REMOVE = &quot;ALL&quot; OR AI_INSTALL_MODE = &quot;Remove&quot; ) )" Sequence="1504"/>
<ROW Action="AI_ExpandExtractionPath" Condition="(REMOVE=&quot;ALL&quot;) AND (NOT AI_SETUPEXEPATH)" Sequence="1501" Builds="DefaultBuild"/>
<ROW Action="AI_DeleteUninstallLzma" Condition="(REMOVE=&quot;ALL&quot;) AND (NOT AI_SETUPEXEPATH)" Sequence="5970" Builds="DefaultBuild"/>
<ROW Action="AI_DATA_SETTER_1" Condition="(REMOVE=&quot;ALL&quot;) AND (NOT AI_SETUPEXEPATH)" Sequence="5969"/>
Expand All @@ -334,8 +309,10 @@
<ROW Action="AI_ExtractLzma" Condition="SETUPEXEDIR=&quot;&quot; AND Installed AND (REMOVE&lt;&gt;&quot;ALL&quot;) AND (AI_INSTALL_MODE&lt;&gt;&quot;Remove&quot;) AND (NOT PATCH)" Sequence="1549" Builds="DefaultBuild"/>
<ROW Action="AI_DeleteRLzma" Condition="SETUPEXEDIR=&quot;&quot; AND Installed AND (REMOVE&lt;&gt;&quot;ALL&quot;) AND (AI_INSTALL_MODE&lt;&gt;&quot;Remove&quot;) AND (NOT PATCH)" Sequence="1548" Builds="DefaultBuild"/>
<ROW Action="AI_DeleteLzma" Condition="SETUPEXEDIR=&quot;&quot; AND Installed AND (REMOVE&lt;&gt;&quot;ALL&quot;) AND (AI_INSTALL_MODE&lt;&gt;&quot;Remove&quot;) AND (NOT PATCH)" Sequence="6599" Builds="DefaultBuild"/>
<ROW Action="StopWatchdogService" Condition="( Installed AND ( REMOVE = &quot;ALL&quot; OR AI_INSTALL_MODE = &quot;Remove&quot; ) )" Sequence="1505"/>
<ROW Action="AI_DATA_SETTER_2" Condition="( Installed AND ( REMOVE = &quot;ALL&quot; OR AI_INSTALL_MODE = &quot;Remove&quot; ) )" Sequence="1504"/>
<ROW Action="StopWatchdogService" Condition="( Installed AND ( REMOVE = &quot;ALL&quot; OR AI_INSTALL_MODE = &quot;Remove&quot; ) )" Sequence="1506"/>
<ROW Action="AI_DATA_SETTER_2" Condition="( Installed AND ( REMOVE = &quot;ALL&quot; OR AI_INSTALL_MODE = &quot;Remove&quot; ) )" Sequence="1505"/>
<ROW Action="RegisterUpdater" Condition="( NOT Installed )" Sequence="6407"/>
<ROW Action="DeregisterUpdater" Condition="( Installed AND ( REMOVE = &quot;ALL&quot; OR AI_INSTALL_MODE = &quot;Remove&quot; ) )" Sequence="1503"/>
</COMPONENT>
<COMPONENT cid="caphyon.advinst.msicomp.MsiInstallUISequenceComponent">
<ROW Action="AI_ResolveKnownFolders" Sequence="53"/>
Expand Down Expand Up @@ -399,10 +376,4 @@
<COMPONENT cid="caphyon.advinst.msicomp.PreReqSearchComponent">
<ROW SearchKey="C4FE6FD5B7C4D07B3A313E754A9A6A8Vers" Prereq="C4FE6FD5B7C4D07B3A313E754A9A6A8" SearchType="2" SearchString="HKLM\SOFTWARE\Microsoft\DevDiv\VC\Servicing\14.0\RuntimeMinimum\Version" VerMin="14.30.30704" Order="1" Property="PreReqSearch_C4FE6FD5B7C4D07B3A313E"/>
</COMPONENT>
<COMPONENT cid="caphyon.advinst.msicomp.ScheduledTasksComponent">
<ROW TaskId="AI_updater" TaskName="HidHide_Updater" Run="[#updater.exe]" CmdLine="/silent" WorkDir="[APPDIR]" UserProp="[%UserDomain]\[LogonUser]" Flags="24576" Trigger="1|1|1|1|0|0|0||0|0|0" Settings="2|60" Condition="1" TaskVersion="2.0"/>
</COMPONENT>
<COMPONENT cid="caphyon.advinst.msicomp.UpdaterComponent">
<ROW Updater="updater.exe" URL="URL" SearchFreq="CheckFrequency" DownloadsFolder="DownloadsFolder" ID="ID" TargetDir="AppDir" AppName="ApplicationName" AppVersion="ApplicationVersion" CompanyName="CompanyName" DefCommandLine="DefaultCommandLine" Flags="Flags" IconPath="..\HidHideCLI\src\Application.ico" IconIndex="0" UnistallCASeq="AI_UPDATER_UNINSTALL" TaskId="AI_updater" Description="[|UpdaterName] [|ProductVersion]"/>
</COMPONENT>
</DOCUMENT>

0 comments on commit bbd9eda

Please sign in to comment.