Запись произвольного значения отлично работает для меня в Windows7.
Я использую NSIS, который автоматически не заполняет это значение
или напишите этот ключ или сделайте что-нибудь волшебное здесь.
Но вы можете создать ключи реестра самостоятельно,
и положи в них все, что захочешь,
используя обычные команды скрипта.
Это скрипт NSIS * .nsi, извините, но есть только 3 активные строки.
Я не думаю, что вы должны знать NSIS, чтобы увидеть, что я
просто создать ключ произвольно и записать значение по моему выбору
внутрь. Я могу также сказать вам, что, когда я ставил плохие ценности
там, он, безусловно, обнаружился в программах добавления / удаления точно так же плохо
как то, что я написал. (Я предположил, что значение должно быть в байтах
Итак, мое приложение 3.2 МБ обнаружилось как 3.2 ГБ)
выдержка из foo.nsi:
[...]
; ARP = just convenience variable to hold the long reg key path
!define ARP "Software\Microsoft\Windows\CurrentVersion\Uninstall\${APPNAME}"
; include a function library that includes a file/directory size reporting command
!include "FileFunc.nsh" ; for ${GetSize} for EstimatedSize registry entry
[...]
Section "Install"
; [...copy all files here, before GetSize...]
; get cumulative size of all files in and under install dir
; report the total in KB (decimal)
; place the answer into $0 ($1 and $2 get other info we don't care about)
${GetSize} "$INSTDIR" "/S=0K" $0 $1 $2
; Convert the decimal KB value in $0 to DWORD
; put it right back into $0
IntFmt $0 "0x%08X" $0
; Create/Write the reg key with the dword value
WriteRegDWORD HKLM "${ARP}" "EstimatedSize" "$0"
[...write the other keys in the same reg path...]
SectionEnd
[...]