I've used TextPad 4.x for several years and never had any install issues. Now I'm installing 5.0.3 on a clean Windows XP SP2 system using txpeng503.exe /V/qn which works great, I will note for some reason it doesn't create a Start Menu icon.
My main issue is I can't get TextPad to accept my license key. If I use Help -> Update License... everything works great. But if I add
[HKEY_USERS\.DEFAULT\Software\Helios\TextPad 5\License]
"UserInfo"=hex:<my data>
"AuthCode"=hex:<my data>
after the install. When I go to launch TextPad it says it's an evaluation copy. I've tried everything I can think of. I ran RegMon and FileMon to make sure no other registry keys or files were being written too. I can see TextPad reading the license registry key when I launch it, but it still says evaluation.
I have also tried upgrading a TextPad 4.x system, removing the license information and re-importing it in. I get the same results. TextPad will never register until I use Help -> Update License.
If anyone has a working unattended install, NOT an upgrade, let me know if you get simlar results or which registry keys you imported for the license file.
Thanks in advance.
Unable to license TextPad 5.0.3 unattended install
Moderators: AmigoJack, bbadmin, helios, Bob Hansen, MudGuard
-
- Posts: 2
- Joined: Thu Jun 07, 2007 12:11 am
I finally cracked this one. I had the exact same problem as you; I needed to install textpad on a number of computers, and I wanted to do it silently, so that users didn't have to do a thing to get the new version, registered etc.
When users run textpad for the first time, a key is created in the current users hive under Helios/TextPad 5 called "Initialized". This means that IF a user has run TextPad unlicensed (i.e. with no license keys in the .default users hive), it won't help adding the license keys into the .default user hive, since this is never read due to the initialized state.
If you remove this key, and the user run textpad, the program will look for the license key in the .default hive, accredit it, and set a new state (registered license), and everything'll be ok.
So in order to install the key on existing installations having run once or more unregistered:
1) Make sure TextPad 5 isn't running
2) Add the .default user license keys
3) Remove the "Initialized" key from the Helios/Textpad 5 branch of each profile (in the case of more than one person having run Textpad 5 on one single computer)
When users run textpad for the first time, a key is created in the current users hive under Helios/TextPad 5 called "Initialized". This means that IF a user has run TextPad unlicensed (i.e. with no license keys in the .default users hive), it won't help adding the license keys into the .default user hive, since this is never read due to the initialized state.
If you remove this key, and the user run textpad, the program will look for the license key in the .default hive, accredit it, and set a new state (registered license), and everything'll be ok.
So in order to install the key on existing installations having run once or more unregistered:
1) Make sure TextPad 5 isn't running
2) Add the .default user license keys
3) Remove the "Initialized" key from the Helios/Textpad 5 branch of each profile (in the case of more than one person having run Textpad 5 on one single computer)
I wrote a small vbscript that deletes the value in question from every user on a box:
const HKEY_USERS = &H80000003
strComputer = "."
sKeyPath = "\Software\Helios\TextPad 5"
sValueName = "Initialized"
Set objReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\default:StdRegProv")
objReg.EnumKey HKEY_USERS, "", arrSubKeys
wscript.echo "Number of users in HKEY_USERS: " & UBound(arrSubKeys) + 1
dim iAntall
iAntall = 0
For Each subkey In arrSubKeys
rv = objReg.DeleteValue(HKEY_USERS, subkey & sKeyPath, sValueName)
if ( (rv = 0) and (err.number = 0) ) then
wscript.echo "Deleted the value '" & sValueName & "' from " & subkey & sKeyPath
iAntall = iAntall + 1
end if
Next
const HKEY_USERS = &H80000003
strComputer = "."
sKeyPath = "\Software\Helios\TextPad 5"
sValueName = "Initialized"
Set objReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\default:StdRegProv")
objReg.EnumKey HKEY_USERS, "", arrSubKeys
wscript.echo "Number of users in HKEY_USERS: " & UBound(arrSubKeys) + 1
dim iAntall
iAntall = 0
For Each subkey In arrSubKeys
rv = objReg.DeleteValue(HKEY_USERS, subkey & sKeyPath, sValueName)
if ( (rv = 0) and (err.number = 0) ) then
wscript.echo "Deleted the value '" & sValueName & "' from " & subkey & sKeyPath
iAntall = iAntall + 1
end if
Next
-
- Posts: 2
- Joined: Thu Jun 07, 2007 12:11 am
Hmm, I just got a report from a user not seing a valid license for her textpad...
This user has had textpad 4.X previously, so it seems an upgrade from 4.X to 5 doesn't work either...
Sigh...
I note that the textpad 4 license key is situated in the HKLM/Software/Helios/Textpad 4/ key, and in order to move this to the HKUSERS/.DEFAULT hive, you would need admin rights. So, and this is just speculation on my part, you may have to start Textpad 5 the first time as an admin user, since you need to read the key from HKLM and enter it into the HKUSERS/.DEFAULT hive... Not that a unattended install would be any closer to work, though...
Sometimes it looks like software vendors are actively trying to stop me in doing my job...
What would happen if I rename the Textpad 4 part of the user hive to Textpad 5? I would surely get the setup transferred, and maybe the first time running of the program would read the .DEFAULT license key and register the program as intended?
This user has had textpad 4.X previously, so it seems an upgrade from 4.X to 5 doesn't work either...
Sigh...
I note that the textpad 4 license key is situated in the HKLM/Software/Helios/Textpad 4/ key, and in order to move this to the HKUSERS/.DEFAULT hive, you would need admin rights. So, and this is just speculation on my part, you may have to start Textpad 5 the first time as an admin user, since you need to read the key from HKLM and enter it into the HKUSERS/.DEFAULT hive... Not that a unattended install would be any closer to work, though...
Sometimes it looks like software vendors are actively trying to stop me in doing my job...
What would happen if I rename the Textpad 4 part of the user hive to Textpad 5? I would surely get the setup transferred, and maybe the first time running of the program would read the .DEFAULT license key and register the program as intended?
This is probably too late, but just in case anyone else is having the same issues. Textpad 5.0.3, not sure about other versions, will check the HKCU registry settings.
[HKEY_CURRENT_USER\SOFTWARE\Helios\TextPad 5]
"Initialized"
If that key is not found it will create the HKCU registry settings. The one that is causing the problem is this key: HKCU\Software\Helios\TextPad 5\License
I believe that Textpad does a check in HKU\.DEFAULT first and if it can not write in that registry, it defaults to write in HKCU. However if this key exists in HKCU, the license file isn't recognized.
The solution:
Delete
and your license key in
should work.
[HKEY_CURRENT_USER\SOFTWARE\Helios\TextPad 5]
"Initialized"
If that key is not found it will create the HKCU registry settings. The one that is causing the problem is this key: HKCU\Software\Helios\TextPad 5\License
I believe that Textpad does a check in HKU\.DEFAULT first and if it can not write in that registry, it defaults to write in HKCU. However if this key exists in HKCU, the license file isn't recognized.
The solution:
Delete
Code: Select all
HKCU\Software\Helios\TextPad 5\License
Code: Select all
HKU\.DEFAULT\Software\Helios\TextPad 5