View Full Version : Not getting %DIGITALPRODUCTID%
NewsArchive
09-20-2013, 09:39 AM
All the Win7/8 64 bit computers I tried with my SB7/8 script were able to read the registry data
from %DIGITALPRODUCTID%
Now 2 Dell Win7 64bit computers that a customer just installed my program on also will not let me
read the Registry data from %DIGITALPRODUCTID% that I have never had a problem with on many other
Win7 computers.
I did read certain computers today place this data into the bios on the mother board. Not sure if it
was laptops or computers like a Dell.
Anyone else aware of this.
JIm
NewsArchive
09-20-2013, 09:39 AM
Jimmy,
Do you read the value for %DIGITALPRODUCTID% from a specific Windows
registry key (32-bit or 64-bit registry branch)? Perhaps the registry
information does not exist on the two Dell machines (with OEM Windows) or
the value is empty.
Friedrich
NewsArchive
09-20-2013, 09:39 AM
By the way, on my Windows 7 Ultimate x64 (non-OEM), the "DigitalProductId"
value name does exist only in the 64-bit registry branch, not in the 32-bit
one. Are you reading the 64-bit registry key?
Friedrich
NewsArchive
09-20-2013, 09:40 AM
See attached screenshots. It's only in the 64-bit registry. IMO, you only
read from the 32-bit registry key.
Friedrich
NewsArchive
09-21-2013, 05:14 AM
Yes I am reading the 64 bit Win7/8 %DIGITALPRODUCTID% registry entry with the correct SB script. It
works on all my 64 bit Win7/8 computers and on other customers.. It was just this Dell that I got
all 0's. As I was learning how to do this I saw some comments about how brand name computers and
maybe OEM ones are gettings the registry placed into a motherboard bios instead. Not sure if you had
heard of this.
Jimmy Rogers
NewsArchive
09-21-2013, 05:14 AM
Jimmy,
> Yes I am reading the 64 bit Win7/8 %DIGITALPRODUCTID% registry
> entry with the correct SB script. It works on all my 64 bit
> Win7/8 computers and on other customers.. It was just this Dell
> that I got all 0's. As I was learning how to do this I saw some
> comments about how brand name computers and maybe OEM ones are
> gettings the registry placed into a motherboard bios instead.
> Not sure if you had heard of this.
Just to be on the safe side: so you switch into 64-bit mode when running on
Windows x64, read the 64-bit registry branch, then switch back to 32-bit
mode?
The "DigitalProductId" key could be all null or empty if
1.) A Volume License Key activated the Windows 7 operating system. The
Volume License Key key is deleted from the registry after activation.
--and/or--
2. "Something" deleted or manipulated the registry key value (e.g. using the
command slmgr -cpky).
Friedrich
NewsArchive
09-21-2013, 05:15 AM
>Jimmy,
>
>> Yes I am reading the 64 bit Win7/8 %DIGITALPRODUCTID% registry
>> entry with the correct SB script. It works on all my 64 bit
>> Win7/8 computers and on other customers.. It was just this Dell
>> that I got all 0's. As I was learning how to do this I saw some
>> comments about how brand name computers and maybe OEM ones are
>> gettings the registry placed into a motherboard bios instead.
>> Not sure if you had heard of this.
>
>Just to be on the safe side: so you switch into 64-bit mode when running on
>Windows x64, read the 64-bit registry branch, then switch back to 32-bit
>mode?
Yes to the above. I do it just as you have described it. Thats why it works on my Win7/8 64 bit
computers.
Set Variable %DIGITALPRODUCTID% to ""
Set Variable %WIN64BIT% to ""
Set Variable %DIGITALPRODUCTID2% to ""
[ Edit Registry ]
Set Variable %WIN64BIT% to FUNCTION:Get System Info(WOW64 Status)
If %WIN64BIT% Equals "1" Then
Enable x64 Support
Set Variable %DIGITALPRODUCTID% to FUNCTION:Get Registry Key Value("DigitalProductId") from
"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion"
If %_SB_ERRORCODE% Does Not Equal "0" Then
Text File: Create File a file
Set Variable %DIGITALPRODUCTID2% to FUNCTION:Mid(%DIGITALPRODUCTID%, 45, 156)
Set Variable %DIGITALPRODUCTID3% to FUNCTION:Remove Blanks(%DIGITALPRODUCTID2%)
Text File: Insert Line "1" to file
/* Display Message Box "%DIGITALPRODUCTID%\n\n%DIGITALPRODUCTID2%\n\n%DIGI ..." -- "64 BIT
Product Id" */
Else
/* Display Message Box "ERROR\n\n%DIGITALPRODUCTID%" -- "64 BIT Product Id" */
End
Disable x64 Support
Else
Set Variable %DIGITALPRODUCTID% to FUNCTION:Get Registry Key Value("DigitalProductId") from
"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion"
If %_SB_ERRORCODE% Does Not Equal "0" Then
Text File: Create File a file
Set Variable %DIGITALPRODUCTID2% to FUNCTION:Mid(%DIGITALPRODUCTID%, 45, 156)
Set Variable %DIGITALPRODUCTID3% to FUNCTION:Remove Blanks(%DIGITALPRODUCTID2%)
Text File: Insert Line "1" to file
/* Display Message Box "%DIGITALPRODUCTID%\n\n%DIGITALPRODUCTID2%\n\n%DIGI ..." -- "32 BIT
Product Id" */
Else
/* Display Message Box "%DIGITALPRODUCTID%" -- "32 BIT Product Id AND ERROR" */
End
End
Exit Installation(2009)
>
>The "DigitalProductId" key could be all null or empty if
>
>1.) A Volume License Key activated the Windows 7 operating system. The
>Volume License Key key is deleted from the registry after activation.
Knowing this customer No 1 sounds right. I do not think No 2 is it.
So the "comments about how brand name computers and maybe OEM ones are gettings the registry placed
into a motherboard bios instead." does not sound righ tto you?
Jimmy Rogers
Powered by vBulletin® Version 4.2.5 Copyright © 2024 vBulletin Solutions Inc. All rights reserved.