<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://nsis.sourceforge.io/mediawiki/index.php?action=history&amp;feed=atom&amp;title=Boot_Configuration_Functions_Header</id>
	<title>Boot Configuration Functions Header - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://nsis.sourceforge.io/mediawiki/index.php?action=history&amp;feed=atom&amp;title=Boot_Configuration_Functions_Header"/>
	<link rel="alternate" type="text/html" href="https://nsis.sourceforge.io/mediawiki/index.php?title=Boot_Configuration_Functions_Header&amp;action=history"/>
	<updated>2026-06-05T08:06:10Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.39.17</generator>
	<entry>
		<id>https://nsis.sourceforge.io/mediawiki/index.php?title=Boot_Configuration_Functions_Header&amp;diff=24844&amp;oldid=prev</id>
		<title>F0rt: bootcfg.nsh - provides functions to manipulate the boot configration data (BCD)</title>
		<link rel="alternate" type="text/html" href="https://nsis.sourceforge.io/mediawiki/index.php?title=Boot_Configuration_Functions_Header&amp;diff=24844&amp;oldid=prev"/>
		<updated>2016-10-22T23:48:58Z</updated>

		<summary type="html">&lt;p&gt;bootcfg.nsh - provides functions to manipulate the boot configration data (BCD)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;The &amp;lt;attach&amp;gt;bootcfg.zip&amp;lt;/attach&amp;gt; header file provides functions to manipulate the boot configration data (BCD).&lt;br /&gt;
&lt;br /&gt;
The below example displays the current boot entry in a message box.&lt;br /&gt;
&lt;br /&gt;
More examples are listed in [[:Category:bootcfg.nsh]]&lt;br /&gt;
&lt;br /&gt;
Please [[#Links|see links below]] for further information.&lt;br /&gt;
&lt;br /&gt;
= Example =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;highlight-nsis&amp;gt;&lt;br /&gt;
; Licensed under the zlib/libpng license (same as NSIS)&lt;br /&gt;
&lt;br /&gt;
; Unicode builds:&lt;br /&gt;
; x86 unicode&lt;br /&gt;
; makensis &amp;quot;-XTarget x86-unicode&amp;quot; script.nsi&lt;br /&gt;
; amd64 unicode&lt;br /&gt;
; makensis &amp;quot;-XTarget amd64-unicode&amp;quot; script.nsi&lt;br /&gt;
&lt;br /&gt;
!define NAME &amp;quot;Boot Info&amp;quot;&lt;br /&gt;
Name &amp;quot;${NAME}&amp;quot;&lt;br /&gt;
Caption &amp;quot;${NAME}&amp;quot;&lt;br /&gt;
&lt;br /&gt;
!include bootcfg.nsh&lt;br /&gt;
&lt;br /&gt;
; Include required functions&lt;br /&gt;
${BOOTCFG_ConnectWMI}&lt;br /&gt;
${BOOTCFG_GetObject}&lt;br /&gt;
${BOOTCFG_OpenDefaultBcdStore}&lt;br /&gt;
${BOOTCFG_GetBcdObjectDescription}&lt;br /&gt;
&lt;br /&gt;
Function .onInit&lt;br /&gt;
  InitPluginsDir&lt;br /&gt;
  ${BOOTCFG_ConnectWMI} $2 $3 $0&lt;br /&gt;
  ${If} $0 != 0&lt;br /&gt;
    StrCpy $1 $3&lt;br /&gt;
    StrCpy $3 &amp;quot;&amp;quot;&lt;br /&gt;
    StrCpy $2 &amp;quot;&amp;quot;&lt;br /&gt;
  ${Else}&lt;br /&gt;
    ${BOOTCFG_GetObject} $3 &amp;quot;BcdStore&amp;quot; $4 $0&lt;br /&gt;
    ${If} $0 != 0&lt;br /&gt;
      StrCpy $1 $4&lt;br /&gt;
      StrCpy $4 &amp;quot;&amp;quot;&lt;br /&gt;
    ${Else}&lt;br /&gt;
      ${BOOTCFG_GetObject} $3 &amp;quot;BcdObject&amp;quot; $5 $0&lt;br /&gt;
      ${If} $0 != 0&lt;br /&gt;
        StrCpy $1 $5&lt;br /&gt;
        StrCpy $5 &amp;quot;&amp;quot;&lt;br /&gt;
      ${Else}&lt;br /&gt;
        ${BOOTCFG_OpenDefaultBcdStore} $3 $4 $6 $0&lt;br /&gt;
        ${If} $0 != 0&lt;br /&gt;
          StrCpy $1 $6&lt;br /&gt;
          StrCpy $6 &amp;quot;&amp;quot;&lt;br /&gt;
        ${Else}&lt;br /&gt;
          ${BOOTCFG_GetBcdObjectDescription} $3 $4 $6 \&lt;br /&gt;
            $5 ${BOOTCFG_CURRENT_GUID} $1&lt;br /&gt;
        ${EndIf}&lt;br /&gt;
      ${EndIf}&lt;br /&gt;
    ${EndIf}&lt;br /&gt;
  ${EndIf}&lt;br /&gt;
&lt;br /&gt;
  ${BOOTCFG_ReleaseObject} $6&lt;br /&gt;
  ${BOOTCFG_ReleaseObject} $5&lt;br /&gt;
  ${BOOTCFG_ReleaseObject} $4&lt;br /&gt;
  ${BOOTCFG_ReleaseObject} $3&lt;br /&gt;
  ${BOOTCFG_ReleaseObject} $2&lt;br /&gt;
&lt;br /&gt;
  ${If} $0 == 0&lt;br /&gt;
    MessageBox MB_OK &amp;quot;Current boot entry: $1&amp;quot;&lt;br /&gt;
  ${Else}&lt;br /&gt;
    IntFmt $0 &amp;quot;0x%08X&amp;quot; $0&lt;br /&gt;
    MessageBox MB_OK &amp;quot;$1: $0&amp;quot;&lt;br /&gt;
  ${EndIf}&lt;br /&gt;
  Quit&lt;br /&gt;
FunctionEnd&lt;br /&gt;
&lt;br /&gt;
Section&lt;br /&gt;
SectionEnd&lt;br /&gt;
&amp;lt;/highlight-nsis&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Links =&lt;br /&gt;
*[https://msdn.microsoft.com/library/windows/desktop/aa362677(v=vs.85).aspx BCD WMI Provider Reference]&lt;br /&gt;
*[https://msdn.microsoft.com/library/windows/hardware/dn653287(v=vs.85).aspx Boot Configuration Data in Windows Vista (MSDN)]&lt;br /&gt;
*[https://msdn.microsoft.com/aa394559(v=vs.85).aspx WMI error constants (MSDN)]&lt;br /&gt;
*[http://www.geoffchappell.com/notes/windows/boot/bcd/objects.htm BCD Objects (Geoff Chappell)]&lt;br /&gt;
*[http://www.geoffchappell.com/notes/windows/boot/bcd/elements.htm BCD Elements (Geoff Chappell)]&lt;br /&gt;
*[http://www.codeproject.com/Articles/833655/Modify-Windows-BCD-using-Powershell Modify Windows BCD using Powershell (codeproject)]&lt;br /&gt;
&lt;br /&gt;
[[Category:System Plugin Examples]]&lt;br /&gt;
[[Category:COM Programming]]&lt;br /&gt;
[[Category:bootcfg.nsh]]&lt;/div&gt;</summary>
		<author><name>F0rt</name></author>
	</entry>
</feed>