<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>registry Archives - scmGalaxy</title>
	<atom:link href="https://www.scmgalaxy.com/tutorials/tag/registry/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.scmgalaxy.com/tutorials/tag/registry/</link>
	<description>A Platform for Software Engineers</description>
	<lastBuildDate>Sat, 27 Feb 2021 09:34:56 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1</generator>
	<item>
		<title>Setup Docker service to use insecure(http) registry instead of https</title>
		<link>https://www.scmgalaxy.com/tutorials/setup-docker-service-to-use-insecurehttp-registry-instead-of-https/</link>
					<comments>https://www.scmgalaxy.com/tutorials/setup-docker-service-to-use-insecurehttp-registry-instead-of-https/#respond</comments>
		
		<dc:creator><![CDATA[scmgalaxy K]]></dc:creator>
		<pubDate>Tue, 31 Jul 2018 12:23:31 +0000</pubDate>
				<category><![CDATA[Docker]]></category>
		<category><![CDATA[DOCKER_OPTS]]></category>
		<category><![CDATA[HTTP]]></category>
		<category><![CDATA[insecure]]></category>
		<category><![CDATA[registry]]></category>
		<category><![CDATA[service]]></category>
		<guid isPermaLink="false">http://www.scmgalaxy.com/tutorials/?p=5113</guid>

					<description><![CDATA[<p>By default docker use https to connect to docker registry. But there can be use cases to use insecure registry. [&#8230;]</p>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/setup-docker-service-to-use-insecurehttp-registry-instead-of-https/">Setup Docker service to use insecure(http) registry instead of https</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><img fetchpriority="high" decoding="async" class="alignnone size-full wp-image-5118" src="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2018/07/setup-docker-service.png" alt="" width="600" height="315" srcset="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2018/07/setup-docker-service.png 600w, https://www.scmgalaxy.com/tutorials/wp-content/uploads/2018/07/setup-docker-service-300x158.png 300w" sizes="(max-width: 600px) 100vw, 600px" /></p>
<p>By default docker use https to connect to docker registry. But there can be use cases to use insecure registry. Here are the steps to use insecure registry.</p>
<p><strong>In ubuntu</strong><br />
edit the file /etc/default/docker and update DOCKER_OPTS e.g</p>
<pre class="brush: plain; title: ; notranslate">DOCKER_OPTS='--insecure-registry 10.84.34.155:5000'</pre>
<p>where 10.84.34.155 is ipaddress of registry and 5000 is your port on which registry is configured.</p>
<p><strong>In Centos</strong><br />
Edit the file /etc/docker/daemon.json e.g.</p>
<pre class="brush: plain; title: ; notranslate">{
&quot;insecure-registries&quot; : &#x5B;&quot;10.84.34.155:5000&quot;]
}</pre>
<p>where 10.84.34.155 is ipaddress of registry and 5000 is your port on which registry is configured.</p>
<p><strong>Restart docker</strong><br />
$ service docker restart</p>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/setup-docker-service-to-use-insecurehttp-registry-instead-of-https/">Setup Docker service to use insecure(http) registry instead of https</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.scmgalaxy.com/tutorials/setup-docker-service-to-use-insecurehttp-registry-instead-of-https/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>VbScript To Delete Registry Value Data</title>
		<link>https://www.scmgalaxy.com/tutorials/vbscript-to-delete-registry-value-data/</link>
					<comments>https://www.scmgalaxy.com/tutorials/vbscript-to-delete-registry-value-data/#respond</comments>
		
		<dc:creator><![CDATA[scmgalaxy K]]></dc:creator>
		<pubDate>Mon, 04 Dec 2017 08:50:35 +0000</pubDate>
				<category><![CDATA[General]]></category>
		<category><![CDATA[registry]]></category>
		<guid isPermaLink="false">http://www.scmgalaxy.com/tutorials/?p=1392</guid>

					<description><![CDATA[<p>deployexpert created the topic: VBSCRIPT TO DELETE REGISTRY VALUE DATA Hi everyone, Need an urgent help. Need a script to [&#8230;]</p>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/vbscript-to-delete-registry-value-data/">VbScript To Delete Registry Value Data</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><strong>deployexpert created the topic: VBSCRIPT TO DELETE REGISTRY VALUE DATA</strong><br />
Hi everyone,</p>
<p>Need an urgent help. Need a script to delete a registry value. [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows]<br />
&#8220;AppInit_DLLs&#8221;=&#8221;SAMPLE&#8221;</p>
<p>I only want to delete the data value &#8220;SAMPlE&#8221;</p>
<p><strong>applicationPackaging replied the topic: Re: VBSCRIPT TO DELETE REGISTRY VALUE DATA</strong><br />
Seriously? Well, you asked for it! <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <a href="http://www.lmgtfy.com/?q=vbscript+delete+registry+value">www.lmgtfy.com/?q=vbscript+delete+registry+value  </a></p>
<p><strong>deployexpert replied the topic: Re: VBSCRIPT TO DELETE REGISTRY VALUE DATA</strong><br />
While using the Google hint Ian gave you; you want to set an entry to empty (&#8220;&#8221;) and not delete it</p>
<p><strong>applicationPackaging replied the topic: Re: VBSCRIPT TO DELETE REGISTRY VALUE DATA</strong><br />
Thanks for ur help.<br />
I only want to delete the value data = &#8220;SAMPLE&#8221; if it exist in [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows]<br />
&#8220;AppInit_DLLs&#8221;=&#8221;SAMPLE&#8221;</p>
<p>The AppInit_DLLs has different values in it. Just want to delete the value &#8220;SAMPLE&#8221; in the value data</p>
<p><strong>deployexpert replied the topic: Re: VBSCRIPT TO DELETE REGISTRY VALUE DATA</strong><br />
Again, using what Ian pointed to:</p>
<p>1) read the current value<br />
2) If Value = &#8220;SAMPLE&#8221; then Write value = &#8220;&#8221;<br />
3) (Else do nothing)</p>
<p><strong>applicationPackaging replied the topic: Re: VBSCRIPT TO DELETE REGISTRY VALUE DATA</strong><br />
this is my script but it does not delete the strvalue.</p>
<p>Option Explicit<br />
Const HKEY_LOCAL_MACHINE = &#038;H80000002</p>
<p>Dim strComputer<br />
Dim objRegistry<br />
Dim strKeyPath<br />
Dim strValueName<br />
Dim strValue<br />
Dim arrValues<br />
Dim intValue</p>
<p>strComputer = &#8220;.&#8221;<br />
Set objRegistry=GetObject(&#8220;winmgmts:{impersonationLevel=impersonate}!\\&#8221; &#038;_<br />
strComputer &#038; &#8220;\root\default:StdRegProv&#8221;)</p>
<p>&#8216;Get String value<br />
strKeyPath = &#8220;Software\Microsoft\Windows NT\CurrentVersion\Windows&#8221;<br />
strValueName = &#8220;AppInit_DLLs&#8221;<br />
strValue = &#8220;PGPmapih.dll&#8221;<br />
objRegistry.GetStringValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,strValue</p>
<p>&#8216;Delete String value<br />
strKeyPath = &#8220;Software\Microsoft\Windows NT\CurrentVersion\Windows&#8221;<br />
strValueName = &#8220;AppInit_DLLs&#8221;<br />
objRegistry.DeleteValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,strValue</p>
<p><strong>applicationPackaging replied the topic: Re: VBSCRIPT TO DELETE REGISTRY VALUE DATA</strong><br />
Hi,</p>
<p>Try the below code and let me know&#8230;</p>
<p>&#8216;<br />
Const HKEY_LOCAL_MACHINE = &#038;H80000002<br />
strComputer = &#8220;.&#8221;</p>
<p>Set oReg=GetObject(&#8220;winmgmts:{impersonationLevel=impersonate}!\\&#8221; &#038; _<br />
  strComputer &#038; &#8220;\root\default:StdRegProv&#8221;)</p>
<p>strKeyPath = &#8220;Software\Microsoft\Windows NT\CurrentVersion\Windows&#8221;<br />
strStringValueName = &#8220;AppInit_DLLs&#8221;</p>
<p>oReg.DeleteValue HKEY_LOCAL_MACHINE,strKeyPath,strStringValueName</p>
<p><strong>applicationPackaging replied the topic: Re: VBSCRIPT TO DELETE REGISTRY VALUE DATA</strong><br />
TBH, you won&#8217;t get very far in packaging without some scripting skills.</p>
<p>I don&#8217;t normally spoon-feed, but what the hell&#8230;some array handling for you to pick the bones out of. It&#8217;s completely off the top of my head and untested:</p>
<p>Dim blnResult<br />
Dim arrRegValue<br />
Dim strTempRegValue<br />
Dim strTemp<br />
Dim intArrayIndex_RegValue<br />
Dim blnMatchFound</p>
<p>Const strRegValueSeparator    = &#8220;,&#8221;        &#8216;// or whatever the values are separated with<br />
Const strSearch            = &#8220;SAMPLE&#8221;    &#8216;// this is the text you want removed from strValue</p>
<p>arrRegValue            = Split(strValue, strRegValueSeparator)</p>
<p>strTempValue            = &#8220;&#8221;</p>
<p>For intArrayIndex_RegValue = 0 To UBound(arrRegValue)<br />
  strTemp            = arrRegValue(intArrayIndex_RegValue)<br />
  blnResult        = StringMatch(strTemp, strSearch, blnMatchFound)<br />
  If blnResult Then<br />
      If Not blnMatchFound Then<br />
          &#8216;// The strings didn&#8217;t match the one we&#8217;re searching for so add it to the temporary variable<br />
          If Len(strTempValue) = 0 Then<br />
              strTempValue = strTemp</p>
<p><strong>applicationPackaging replied the topic: Re: VBSCRIPT TO DELETE REGISTRY VALUE DATA</strong><br />
Dim blnResult<br />
Dim arrRegValue<br />
Dim strTempRegValue<br />
Dim strTemp<br />
Dim intArrayIndex_RegValue<br />
Dim blnMatchFound</p>
<p>Const strRegValueSeparator     = &#8220;,&#8221;        &#039;// or whatever the values are separated with<br />
Const strSearch            = &#8220;SAMPLE&#8221;    &#039;// this is the text you want removed from strValue</p>
<p>arrRegValue            = Split(strValue, strRegValueSeparator)</p>
<p>strTempValue            = &#8220;&#8221;</p>
<p>For intArrayIndex_RegValue = 0 To UBound(arrRegValue)<br />
   strTemp            = arrRegValue(intArrayIndex_RegValue)<br />
   blnResult        = StringMatch(strTemp, strSearch, blnMatchFound)<br />
   If blnResult Then<br />
       If Not blnMatchFound Then<br />
           &#039;// The strings didn&#039;t match the one we&#039;re searching for so add it to the temporary variable<br />
           If Len(strTempValue) = 0 Then<br />
               strTempValue = strTemp<br />
           Else<br />
               strTempValue =     strTempValue &#038; strRegValueSeparator &#038; strTemp<br />
           End If<br />
       End If<br />
   End If<br />
Next</p>
<p>&#039;// Now write strTempValue to registry</p>
<p>&#039;//=========================================================================================================<br />
&#039;//    Name:    StringMatch<br />
&#039;// Purpose:    Checks if two strings match<br />
&#039;//                Why not use &#039;If strFirst = strSecond&#039;, you&#039;re asking?<br />
&#039;//                Well, the &#039;Equals&#039; operator :<br />
&#039;//                   &#8211; is not very fast (at string comparison)!<br />
&#039;//                   &#8211; compares strings left to right and is smart enough to stop comparing when it spots the first difference, but<br />
&#039;//                   &#8211; is too dumb to first do the most obvious test: comparing the lengths of the strings!<br />
&#039;//   Input:    strFirst                &#8211; the first string<br />
&#039;//        strSecond                &#8211; the second string<br />
&#039;//        blnMatch                &#8211; a Boolean indicating whether or not the strings matched<br />
&#039;//  Output:    None<br />
&#039;// Returns:    True/False<br />
&#039;//<br />
&#039;//=========================================================================================================<br />
Function StringMatch(ByVal strFirst, ByVal strSecond, ByRef blnMatch)</p>
<p>   StringMatch = True</p>
<p>   blnMatch = False</p>
<p>   If LenB(strFirst) = LenB(strSecond) Then<br />
       blnMatch = (InStrB(1, strFirst, strSecond, vbBinaryCompare) <> 0)<br />
   End If</p>
<p>End Function</p>
<p><strong>applicationPackaging replied the topic: Re: VBSCRIPT TO DELETE REGISTRY VALUE DATA</strong><br />
@VBScab. Tnx so much for ur help. here&#8217;s a simple one that works but it deletes the whole value instead of the said value mention in script.<br />
Dim WSHShell<br />
Set WSHShell = WScript.CreateObject(&#8220;WScript.Shell&#8221;)<br />
Dim returnval<br />
returnval= WSHShell.RegRead(&#8220;HKLM\Software\Microsoft\Windows NT\CurrentVersion\Windows\AppInit_DLLs&#8221;)</p>
<p>if instr(returnval, &#8220;PGPmapih.dll&#8221;) > 0 then<br />
&#8216;&#8221;PGPmapih.dll&#8221; exists so set it to nothing<br />
WSHShell.Regwrite &#8220;HKLM\Software\Microsoft\Windows NT\CurrentVersion\Windows\AppInit_DLLs&#8221; , &#8220;&#8221;<br />
end if</p>
<p><strong>applicationPackaging replied the topic: Re: VBSCRIPT TO DELETE REGISTRY VALUE DATA</strong><br />
Hi Guys. Tnx all for ur help. Got a working script at the end of the day and sharing it. Script is pasted below.</p>
<p>&#8216;**********************************************************************************************************************************************<br />
&#8216; This Script performs the following tasks<br />
&#8216; 1. Checks the Users Permissions to the registry<br />
&#8216; 2. If the user has access to write to the registry searches to see if the<br />
&#8216;    following registry key exists and return the values: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows\APPINIT_DLLS<br />
&#8216;    Searches to see if PGPmapih.dll is a value and strips it out<br />
&#8216;    Replaces the PGPmapih.dll with blanks<br />
&#8216; 3. Writes all errors etc&#8230; to a log file c:\winnt\temp\pgpmapih_fix.log<br />
&#8216;***********************************************************************************************************************************************</p>
<p>&#8216;**************<br />
&#8216;Start of Code<br />
&#8216;**************</p>
<p>On Error Resume Next</p>
<p>Const ForWriting = 2<br />
Set objFSO = CreateObject(&#8220;Scripting.FileSystemObject&#8221;)<br />
Set objFile = objFSO.CreateTextFile(&#8220;C:\WINNT\Temp\pgpmapih_fix.log&#8221;, ForWriting)</p>
<p>&#8216;Declare and Set any variables<br />
pgpvalue = &#8220;PGPmapih.dll&#8221;<br />
const HKEY_LOCAL_MACHINE = &#038;H80000002<br />
strComputer = &#8220;.&#8221;<br />
Set oReg=GetObject(&#8220;winmgmts:{impersonationLevel=impersonate}!\\&#8221; &#038;_<br />
strComputer &#038; &#8220;\root\default:StdRegProv&#8221;)</p>
<p>&#8216; Check Permissions to see if current user can write to registry<br />
Set StdOut = WScript.StdOut<br />
strKeyPath = &#8220;SYSTEM\CurrentControlSet&#8221;</p>
<p>oReg.CheckAccess HKEY_LOCAL_MACHINE, strKeyPath, KEY_QUERY_VALUE, _<br />
  bHasAccessRight<br />
If bHasAccessRight = True Then<br />
  objFile.WriteLine (date &#038; &#8221; &#8221; &#038;Time  &#038;&#8221; User Has Query Value Access Rights&#8221;)<br />
Else<br />
  objFile.WriteLine (date &#038; &#8221; &#8221; &#038;Time  &#038;&#8221; User Does Not Have Query Value Access Rights&#8221;)<br />
End If </p>
<p>oReg.CheckAccess HKEY_LOCAL_MACHINE, strKeyPath, KEY_SET_VALUE, _<br />
  bHasAccessRight<br />
If bHasAccessRight = True Then<br />
  objFile.WriteLine (date &#038; &#8221; &#8221; &#038;Time  &#038;&#8221; User Has Set Value Access Rights&#8221;)<br />
Else<br />
  objFile.WriteLine (date &#038; &#8221; &#8221; &#038;Time  &#038;&#8221; User Does not have Set Value Access Rights&#8221;)<br />
End If </p>
<p>oReg.CheckAccess HKEY_LOCAL_MACHINE, strKeyPath, KEY_CREATE_SUB_KEY, _<br />
  bHasAccessRight<br />
If bHasAccessRight = True Then<br />
  objFile.WriteLine (date &#038; &#8221; &#8221; &#038;Time  &#038;&#8221; User Has Create SubKey Access Rights&#8221;)<br />
Else<br />
  objFile.WriteLine (date &#038; &#8221; &#8221; &#038;Time  &#038;&#8221; User Does Not Have Set Create Subkey Access Rights&#8221;)<br />
End If</p>
<p>oReg.CheckAccess HKEY_LOCAL_MACHINE, strKeyPath, DELETE, bHasAccessRight<br />
If bHasAccessRight = True Then<br />
objFile.WriteLine (date &#038; &#8221; &#8221; &#038;Time  &#038;&#8221; User Has Delete Access Rights&#8221;)<br />
Else<br />
objFile.WriteLine (date &#038; &#8221; &#8221; &#038;Time  &#038;&#8221; User Does Not have Delete Access Rights&#8221;)<br />
End If</p>
<p>&#8216;Change Path to PGP One<br />
strKeyPath = &#8220;SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows&#8221;<br />
strValueName = &#8220;AppInit_DLLs&#8221;</p>
<p>&#8216;Search Registry to find the Key<br />
oReg.GetStringValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,strValue<br />
objFile.WriteLine (date &#038; &#8221; &#8221; &#038;Time  &#038;&#8221; Value of Registry Key &#8221; &#038; strvalue)</p>
<p>if isnull(strKeyPath) then<br />
objFile.WriteLine (date &#038; &#8221; &#8221; &#038;Time  &#038;&#8221; ERROR: Registry Key Path Not Found&#8221;)<br />
objFile.Close<br />
wscript.quit<br />
else</p>
<p>If isNull(strvaluename) then<br />
objFile.WriteLine (date &#038; &#8221; &#8221; &#038;Time  &#038;&#8221; ERROR: Registry Key Does Not Exist on PC&#8221;)<br />
objFile.Close<br />
wscript.quit<br />
else</p>
<p>If strvalue = &#8220;&#8221; then<br />
objFile.WriteLine (date &#038; &#8221; &#8221; &#038;Time  &#038;&#8221; Registry Key VALUE Is Blank&#8221;)<br />
objFile.WriteLine (date &#038; &#8221; &#8221; &#038;Time  &#038;&#8221; No Need to Run Script, Now Quitting&#8221;)<br />
objFile.Close<br />
wscript.quit<br />
else</p>
<p>objFile.WriteLine (date &#038; &#8221; &#8221; &#038;Time  &#038;&#8221; Registry Key Found&#8221;)</p>
<p>end if<br />
end if</p>
<p>newstrvalue = instr(strvalue,pgpvalue)<br />
if newstrvalue = 0 then<br />
objFile.WriteLine (date &#038; &#8221; &#8221; &#038;Time  &#038;&#8221; PGP Value not found on machine&#8221;)<br />
objFile.WriteLine (date &#038; &#8221; &#8221; &#038;Time  &#038;&#8221; No Need to Run Script, Now Quitting&#8221;)<br />
objFile.Close<br />
wscript.quit</p>
<p>else<br />
End if<br />
newstrvalue = Replace(strvalue,pgpvalue,&#8221;&#8221;)<br />
objFile.WriteLine (date &#038; &#8221; &#8221; &#038;Time  &#038;&#8221; Changing Registry key value to: &#8221; &#038; newstrvalue)</p>
<p>&#8216;Write new Key<br />
oReg.SetStringValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,newstrValue<br />
objFile.WriteLine (date &#038; &#8221; &#8221; &#038;Time  &#038;&#8221; SUCCESS: Values Written to Registry&#8221;)<br />
objFile.WriteLine (date &#038; &#8221; &#8221; &#038;Time  &#038;&#8221; Closing Script&#8230; END&#8230;&#8221;)<br />
End if<br />
objFile.Close<br />
Wscript.quit</p>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/vbscript-to-delete-registry-value-data/">VbScript To Delete Registry Value Data</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.scmgalaxy.com/tutorials/vbscript-to-delete-registry-value-data/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>How to handle Registry Redirection through WIX on64-bit Platform</title>
		<link>https://www.scmgalaxy.com/tutorials/how-to-handle-registry-redirection-through-wix-on64-bit-platform/</link>
					<comments>https://www.scmgalaxy.com/tutorials/how-to-handle-registry-redirection-through-wix-on64-bit-platform/#respond</comments>
		
		<dc:creator><![CDATA[scmgalaxy K]]></dc:creator>
		<pubDate>Mon, 04 Dec 2017 05:35:25 +0000</pubDate>
				<category><![CDATA[General]]></category>
		<category><![CDATA[registry]]></category>
		<guid isPermaLink="false">http://www.scmgalaxy.com/tutorials/?p=1229</guid>

					<description><![CDATA[<p>InstallerGeek created the topic: How to handle Registry Redirection through WIX on64-bit Platform Hi, I&#8217;m facing issues while fetching the [&#8230;]</p>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/how-to-handle-registry-redirection-through-wix-on64-bit-platform/">How to handle Registry Redirection through WIX on64-bit Platform</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><strong>InstallerGeek created the topic: How to handle Registry Redirection through WIX on64-bit Platform</strong><br />
Hi,</p>
<p>I&#8217;m facing issues while fetching the Installation Path of a 64-bit component through its Registry Entry on 64-bit Platform. Through WIX, when I&#8217;m searching for a particular registry key, because of registry redirection it is redirected to WOW6432node where registry keys doesn&#8217;t exist.  So, through WIX, is there any way to look into the 64-bit Registry View with only Single MSI creation?</p>
<p>Here are some of my findings about the same :</p>
<p>1.      A component must be marked as Win64=&#8221;yes&#8221; in order to cause registry entries to be written under the 64-bit registry hive instead of the WOW64 registry hive.</p>
<p>2.    Refer stackoverflow.com/questions/1838009/plat&#8230;ification-in-wix-3-0 , telling that we can use the Condition statement (documentation here< wix.sourceforge.net/manual-wix2/wix%5Fxsd%5Fcondition.htm >) which will detect at install time which platform the installer is running on. This allows you to create just one installer which will work on all platforms.</p>
<p>The test for 64bit platform is VersionNT64 and conversely the test for non 64bit platforms is NOT VersionNT64</p>
<p>For example:</p>
<p><Component Id="SomeComponentId" Guid="SomeGuid"></p>
<p><Condition></p>
<p><![CDATA[NOT(VersionNT64)]]&gt;</p>
<p><Condition></p>
<p><File Id="SomeFile" Name="Somefile.exe" Source="$(var.UI.TargetDir)\ProjectOutput.exe" /></p>
<p></Component></p>
<p><strong>InstallerExpert replied the topic: Re: How to handle Registry Redirection through WIX on64-bit Platform</strong><br />
Use Win64=&#8221;yes&#8221; in your RegistrySearch Elements to force them to check the normal areas of the Registry rather than the WOW6432Node. You will get ICE warnings for this in an x86 package.</p>
<p>However you can&#8217;t have one MSI which works natively for both x86 &#038; x64 platforms.<br />
An MSI has a platform attribute which must be set to &#8220;Intel&#8221; for x86 packages or &#8220;Intel64&#8221; for x64 packages (can also use &#8220;AMD64&#8221; for x64 packages but it&#8217;s deprecated by &#8220;Intel64&#8221;). An x86 package will install on x86 and x64 platforms but you will not be able to write to x64 specific locations such as the normal registry areas (everything gets redirected to WOW6432Node) or the normal &#8220;Program Files&#8221; directory (again everything gets redirected to &#8220;Program Files (x86)&#8221;). You can see this in a verbose log quite easily.<br />
If you want or need to access x64 specific areas of the machine you need to create an x64 package which won&#8217;t even run on an x86 platform.<br />
Hence that second post on your thread on StackOverflow is very misleading if taken as read. Having 2 MSI&#8217;s might not be a desirable solution for you but it&#8217;s the only one you&#8217;re going to get if you want to use Windows Installer to deploy your product.</p>
<p>Good Luck.</p>
<p><strong>InstallerExpert replied the topic: Re: How to handle Registry Redirection through WIX on64-bit Platform</strong><br />
You will need two searches: one for the 32-bit and one for the 64-bit search.</p>
<p><strong>InstallerExpert replied the topic: Re: How to handle Registry Redirection through WIX on64-bit Platform</strong><br />
Some confusion here? I believe it&#8217;s</p>
<p>Intel  &#8211; 32-bit x86<br />
Intel64 &#8211; Itanium family<br />
AMD64  &#8211; 64-bit x86, deprecated<br />
x64    &#8211; 64-bit x86</p>
<p><strong>InstallerGeek replied the topic: Re: How to handle Registry Redirection through WIX on64-bit Platform</strong><br />
Thanks Palbinder for your reply. Well, whatever replies I&#8217;ve got for this issue are convincing me for two separate MSIs for 32-bit and 64-bit Platforms resp. I&#8217;ve one more query related this. I&#8217;m not sure whether to ask but still is it possible to write inline code in WIX? If so, I could probably give a try to write the code for disabling registry redirection by Accessing an alternate registry view depending on Platform Architecture.</p>
<p>Any replies on this will be much appreciated.</p>
<p><strong>InstallerExpert replied the topic: Re: How to handle Registry Redirection through WIX on64-bit Platform</strong><br />
Yep, my mistake. Was looking at a package in InstEd! at the time &#038; forgot about Itanium platform support as it still shows only &#8220;AMD64&#8221; for the x64 platform where as Orca has both &#8220;AMD64&#8221; &#038; &#8220;x64&#8221; IIRC (haven&#8217;t had it installed in a long time so I might be wrong).</p>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/how-to-handle-registry-redirection-through-wix-on64-bit-platform/">How to handle Registry Redirection through WIX on64-bit Platform</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.scmgalaxy.com/tutorials/how-to-handle-registry-redirection-through-wix-on64-bit-platform/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>How to clean the computer registry</title>
		<link>https://www.scmgalaxy.com/tutorials/how-to-clean-the-computer-registry/</link>
					<comments>https://www.scmgalaxy.com/tutorials/how-to-clean-the-computer-registry/#respond</comments>
		
		<dc:creator><![CDATA[scmgalaxy K]]></dc:creator>
		<pubDate>Mon, 04 Dec 2017 04:40:01 +0000</pubDate>
				<category><![CDATA[General]]></category>
		<category><![CDATA[registry]]></category>
		<guid isPermaLink="false">http://www.scmgalaxy.com/tutorials/?p=1178</guid>

					<description><![CDATA[<p>manoukwan created the topic: How to clean the computer registry A computer registry is a Windows specific aspect of a [&#8230;]</p>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/how-to-clean-the-computer-registry/">How to clean the computer registry</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><strong>manoukwan created the topic: How to clean the computer registry</strong><br />
A computer registry is a Windows specific aspect of a computer. It contains information on just about everything a computer does. And cleaning it can certainly be a long and tedious project. Below are some things to consider for how to clean up computer registry with registry cleaner.</p>
<p>The first thing anyone should know about cleaning a registry is to not do it manually. Consider the fact that everything your computer does is on there, from web browsing to installed programs. So if a file gets deleted or replaced without knowing what it does, it could seriously damage the computer.</p>
<p>The alternative option is to use a registry cleaning program. But, before anything is done to the registry, a backup needs to be made (that way, if something is broken, it can be restored). Usually, third-party programs have a way of doing it themselves. For the ones that don&#8217;t, there&#8217;s a manual way to do it, using the Windows Registry Editor.</p>
<p>When using a third-party program, it&#8217;s important to know which ones won&#8217;t accidentally break the computer. Some programs can delete key registry items and cause more problems than they solve. As such, it&#8217;s best to check either ZDNet, CNET, PC world, or PC magazine for the latest on helpful (and harmful) programs to use.</p>
<p>By cleaning up the registry, old (and even unused) registry items are removed, giving a little more space and a lot more processing power. Old registries, such as the ones from uninstalled files, usually connect to locations that don&#8217;t exist or that can&#8217;t be found, slowing down the computer. By removing them, the computer can focus on the task at hand.</p>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/how-to-clean-the-computer-registry/">How to clean the computer registry</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.scmgalaxy.com/tutorials/how-to-clean-the-computer-registry/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
