repackaing an app that uses unique per-user reg values
Used the AppDeploy Repackager to generate an MSI for an app called MediaWiper. When I install using my MSI, the app throws an error that some reg info is missing or corrupt. When I install from the vendor exe, I see that the app writes some values to a key at HKEY_USERS\S-[random string of numbers based on logged-in user].
I tried re-installing from my MSI and importing these values to HKLM\Software, but that didn't work. Unless the reg key at HKEY_USERS is present, the app won't work.
So I'm not sure how I could go about editing my MSI to make it work, given that the reg values appear to be different for each user, with no generic key under HKLM_Software.
I tried re-installing from my MSI and importing these values to HKLM\Software, but that didn't work. Unless the reg key at HKEY_USERS is present, the app won't work.
So I'm not sure how I could go about editing my MSI to make it work, given that the reg values appear to be different for each user, with no generic key under HKLM_Software.
0 Comments
[ + ] Show comments
Answers (16)
Please log in to answer
Posted by:
AngelD
15 years ago
Posted by:
RonW
15 years ago
Okay, I admit it: everytime I start thinking I know something about packaging, I'm reminded that I really don't. I'm not sure what it is that I'm supposed to be changing to Registry.Root=1 (I Googled it and checked the AppDeploy forums, really), other than I know I can't actually rename the key with the string of numbers in it.
Here's the particular reg info:[HKEY_USERS\S-1-5-21-1659004503-2025429265-682003330-500\Software\WhiteCanyon\MW1]
"CO"="XMP-44"
"Dliubruc"="(Build 04.11.04)"
"UIL"="C:\\Program Files\\WhiteCanyon\\MediaWiper"
"Out"="2353523905"
"ProgGroup"="MediaWiper"
"DNS"=dword:00000000
"ROL"=dword:00000001
"Update"=dword:00000000
"UpdateTime"=dword:00093a80
"LastCheck"=dword:4995b4cc
Here's the particular reg info:[HKEY_USERS\S-1-5-21-1659004503-2025429265-682003330-500\Software\WhiteCanyon\MW1]
"CO"="XMP-44"
"Dliubruc"="(Build 04.11.04)"
"UIL"="C:\\Program Files\\WhiteCanyon\\MediaWiper"
"Out"="2353523905"
"ProgGroup"="MediaWiper"
"DNS"=dword:00000000
"ROL"=dword:00000001
"Update"=dword:00000000
"UpdateTime"=dword:00093a80
"LastCheck"=dword:4995b4cc
Posted by:
AngelD
15 years ago
Sorry, you should also change the Registry.Key column value to "Software\WhiteCanyon\MW1".
The current registry key points to the user's hive that made the MSI which seems to be the build-in Administrator account (RID=500).
I don't know why the AppDeploy Repackager didn't change these to the proper key value.
Lets way if Bob has any comments on this.
The current registry key points to the user's hive that made the MSI which seems to be the build-in Administrator account (RID=500).
I don't know why the AppDeploy Repackager didn't change these to the proper key value.
Lets way if Bob has any comments on this.
Posted by:
RonW
15 years ago
AngelD, I think the 500 is there because I was testing the install with both my usual username/password, and a generic administrator account I use for testing. The admin acct. was what I was logged in as when I copied the reg key, and the string of numbers in that key is what I see changing depending on who logs in. I had another user log in and install the app, and the reg key is different for her, too. So I'm still not at all clear on how to modify the registry to make the info under HKEY_USERS\[some random string] to be more generic. Specifically, I'm not sure what you're referring to by Registry.Root=1, or in the last post, changing the Registry.Key column value. Sorry if I'm being obtuse.
Posted by:
AngelD
15 years ago
Posted by:
RonW
15 years ago
Sorry, I should've been more specific.
I know how to modify the registry; I'm not sure what it is you're telling me to modify.
When you say "Change these registry entries to Registry.Root=1 instead (HKEY_CURRENT_USER)", I'm not sure what it is you're telling me to do. Likewise for "you should also change the Registry.Key column value to 'Software\WhiteCanyon\MW1'. "
I know how to modify the registry; I'm not sure what it is you're telling me to modify.
When you say "Change these registry entries to Registry.Root=1 instead (HKEY_CURRENT_USER)", I'm not sure what it is you're telling me to do. Likewise for "you should also change the Registry.Key column value to 'Software\WhiteCanyon\MW1'. "
Posted by:
AngelD
15 years ago
The clue is in "Registry.Root" where Registry is the table and Root is the column name in the Registry table. You'll see this notation in several posts, so now you know.
So that would mean; change the column (Root) value and set it to a value of 1 and change the Registry.Key column value to 'Software\WhiteCanyon\MW1'.
Either I'm not getting it or you need to be more specific then previous posts in your description.
So that would mean; change the column (Root) value and set it to a value of 1 and change the Registry.Key column value to 'Software\WhiteCanyon\MW1'.
Either I'm not getting it or you need to be more specific then previous posts in your description.
Posted by:
RonW
15 years ago
Okay, the light bulb just went off in my widdle pea bwain: I was thinking regedit, and you've been talking MSI-type editor, like you'd mentioned earlier. So a big honkin' DUH for me.
I just edited the MSI in Orca and got the app to install properly. Got a couple minor things to fix--I broke the desktop & Start > Programs shortcuts, but otherwise I just tested w/ 2 different logins and it works correctly.
Thanks again for the help!
I just edited the MSI in Orca and got the app to install properly. Got a couple minor things to fix--I broke the desktop & Start > Programs shortcuts, but otherwise I just tested w/ 2 different logins and it works correctly.
Thanks again for the help!
Posted by:
AngelD
15 years ago
Posted by:
bkelly
15 years ago
Posted by:
AngelD
15 years ago
Posted by:
RonW
15 years ago
AngelD/Bob, apologies, but I don't have a copy of the recipe file. I was on the 12th try or so of remaking the MSI and had got in the habit of not saving the xml file out of my VM environment, since I wasn't using it for anything.
But I know that the value of Registry.Root for the reg entries noted was 3, and the Key value in question was S-1-5-21-58594938-1643607424-60295696-16766\Software\WhiteCanyon\MW1. The S-string value would change depending on whether I created the MSI under my own account or under a generic Admin account used for testing.
Which leads me to another question. I thought I had the MSI fixed, making the registry edits noted previously in this thread, but now the app is still broken in that only the user who installs it can use it, and I'm not sure at all how to go about fixing that.
But I know that the value of Registry.Root for the reg entries noted was 3, and the Key value in question was S-1-5-21-58594938-1643607424-60295696-16766\Software\WhiteCanyon\MW1. The S-string value would change depending on whether I created the MSI under my own account or under a generic Admin account used for testing.
Which leads me to another question. I thought I had the MSI fixed, making the registry edits noted previously in this thread, but now the app is still broken in that only the user who installs it can use it, and I'm not sure at all how to go about fixing that.
Posted by:
AngelD
15 years ago
Even though the SID (user) string shouldn't be there it will in your case be the SID of the user whom you used during the capture (install) the original setup.
Regarding your "other" issue.
If the installation adds HKCU registry or file under the user's profile you need to make sure there exist entrypoints (ex. advertised shortcut) to trigger a repair which will "install" these missing resources for the user who triggered it (ex. launched the advertised shortcut).
Why it isn't working in your case may be due to the "incorrect" HKCU (current user) registry as it points to a specific user's registry hive (SID).
So, first you need to make sure to change the registry as we spoke about above and that the ex. shortcut is installed as advertised shortcut instead of a normal shortcut.
Regarding your "other" issue.
If the installation adds HKCU registry or file under the user's profile you need to make sure there exist entrypoints (ex. advertised shortcut) to trigger a repair which will "install" these missing resources for the user who triggered it (ex. launched the advertised shortcut).
Why it isn't working in your case may be due to the "incorrect" HKCU (current user) registry as it points to a specific user's registry hive (SID).
So, first you need to make sure to change the registry as we spoke about above and that the ex. shortcut is installed as advertised shortcut instead of a normal shortcut.
Posted by:
RonW
15 years ago
Here's an unexpected wrinkle: one of our support staff installed this application from the original exe so we could deliver it to a user. And when the user launched the app, they got the exact same error I've been seeing in trying to make the MSI I built work.
So it sounds like there's no point in Bob spending any time looking at this to see why the AppDeploy Repackager didn't work.
And so my next order of business will be to get a working exe.
I'll also be adding to my testing procedures to confirm the provided exe is a good one, before I start banging my head against my computer trying to figure out why my repackaged solution won't work...
So it sounds like there's no point in Bob spending any time looking at this to see why the AppDeploy Repackager didn't work.
And so my next order of business will be to get a working exe.
I'll also be adding to my testing procedures to confirm the provided exe is a good one, before I start banging my head against my computer trying to figure out why my repackaged solution won't work...
Posted by:
AngelD
15 years ago
Well, any "packaging" capture tool should change HKEY_USERS to HKEY_CURRENT_USER.
If this is hard-coded in the application I would try to shim this to redirect to a more proper location.
Have you check if the registry path is written somewhere else so you maybe could change that value instead of shiming it?
If this is hard-coded in the application I would try to shim this to redirect to a more proper location.
Have you check if the registry path is written somewhere else so you maybe could change that value instead of shiming it?
Posted by:
RonW
15 years ago
Rating comments in this legacy AppDeploy message board thread won't reorder them,
so that the conversation will remain readable.
so that the conversation will remain readable.