VMware Horizon Community
leobissinger
Contributor
Contributor

Virtual Registry isolation of registry keys

Maybe someone could explain me the value #2300 at the end of unicode keys ?

I figured out that every REG_SZ value string ended with 0hex,

what I didn't understand is the '23' ?

I go through VMWare ThinApp Users' Manual in chapter 'using the virtual registry' an tried to understand.

In ASCII Code 23hex means '#' but why should at the end of a unicoestring a '#'

Thanks a lot, I walk throug a dark wood since two day and cannot figure out what #23 will mean

Leo

Reply
0 Kudos
4 Replies
admin
Immortal
Immortal

The character '#' is used by ThinApp to indicate that the following two characters should be interpreted as a hex number. ThinApp makes two passes over the string. So before the first pass, you start with #2300. During the first pass, "#23" is replaced by the character with ASCII code hex 23, which is '#' as you point out, so between first and second pass you have "#00". Then the second pass converts that to a trailing null byte.

leobissinger
Contributor
Contributor

Thank you for your quick answer, I didn't recognize, that there is a special interpreter process.

Leo

Reply
0 Kudos
admin
Immortal
Immortal

The main purpose of the interpretation is to convert paths to/from macro format. E.g. if during SetupCapture the installer creates a registry value REG_SZ SomeValue = "C:\Documents and Settings\CaptureUser\Application Data\Product\File.ext" this will be converted to "%AppData%\Product\File.ext#2300". Then when the package is run by user RuntimeUser when the value is queried by the app ThinApp will expand that macro value and return "C:\Documents and Settings\RuntimeUser\Application Data\Product\File.ext" to the app.

Reply
0 Kudos
leobissinger
Contributor
Contributor

Hello geldorp,

thank you for last explanation. Your have a better knowledge about thinapp than the users manual. Because in that manaul I found no sense for #23

greetings and many thanks

Leo

Reply
0 Kudos