Including HKCU key in a MST
I have to create a MST for acrobat reader 6. I want to change some HKCU keys. If I am changing them and including them in the MST will they be applied for every users login on the computers the first time?
If yes, how is it working?
If yes, how is it working?
0 Comments
[ + ] Show comments
Answers (22)
Please log in to answer
Posted by:
CleverITS
20 years ago
Hello Francoisracine,
Yes, it is possible to create a MST for Acrobat Reader 6 with changed HKCU Keys.
The easiest way would be to use Orca.exe from Microsofts SDK.
This tool is freeware and just a plain MSI table Editor.
1) make a backup from Your .MSI, then make sure that You select in Tools-- Options -- Database "copy embedded streams during 'Save AS' (it's not so important when You just want to create a Transform)
2) select "Transform -- New"
3) if You just want to change existing (in MSI File) Regkeys select the Registry Table - do not change the first Column "Registry" make Your changes in Key / Name / Value
4)select "Transform -- Generate Transform" -- give it a name.
5) Test the MSI + Transform (If You are unsure which commandline - use http://www.zacky.de/IT/MSI/msi_cmdline.htm )
Good luck
Wolfgang Zerzawy
CleverITS
www.cleverITS.com
Yes, it is possible to create a MST for Acrobat Reader 6 with changed HKCU Keys.
The easiest way would be to use Orca.exe from Microsofts SDK.
This tool is freeware and just a plain MSI table Editor.
1) make a backup from Your .MSI, then make sure that You select in Tools-- Options -- Database "copy embedded streams during 'Save AS' (it's not so important when You just want to create a Transform)
2) select "Transform -- New"
3) if You just want to change existing (in MSI File) Regkeys select the Registry Table - do not change the first Column "Registry" make Your changes in Key / Name / Value
4)select "Transform -- Generate Transform" -- give it a name.
5) Test the MSI + Transform (If You are unsure which commandline - use http://www.zacky.de/IT/MSI/msi_cmdline.htm )
Good luck
Wolfgang Zerzawy
CleverITS
www.cleverITS.com
Posted by:
Francoisracine
20 years ago
Posted by:
cdupuis
20 years ago
Posted by:
cdupuis
20 years ago
Posted by:
Francoisracine
20 years ago
Posted by:
CleverITS
20 years ago
Hi,
to ensure that all Users get this Reg-Keys You should run an "advertised" Installation (msiexex /jm xxx.msi .... ) this creates "Entry Points" that trigger a "self-repair" each time the Application starts via one of the entrypoints (e.g. Shortcut, COM, Application extension etc..).
This self-repair mechanism checks "component Keys" which can be Reg-Keys or Files (or odbc etc..) You have edited in Your MSI file.
When the Application starts via an entrypoint these keys will be validated and "repaired" if needet (if absent)
The Installer stores parts of its information (Feature and Component) in the Registry
HKEY_CURRENT_USER\Software\Microsoft\Installer\Features
HKEY_CURRENT_USER\Software\Microsoft\Installer\Products
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S<YOUR SID>\Components
also in Filesystem under
C:\WINDOWS\Installer\
if You explain what specific Reg-Keys You would change i could look in Acrobat's msi ;-) and give You more hints...
cu
Wolfgang Zerzawy
www.cleverits.com
to ensure that all Users get this Reg-Keys You should run an "advertised" Installation (msiexex /jm xxx.msi .... ) this creates "Entry Points" that trigger a "self-repair" each time the Application starts via one of the entrypoints (e.g. Shortcut, COM, Application extension etc..).
This self-repair mechanism checks "component Keys" which can be Reg-Keys or Files (or odbc etc..) You have edited in Your MSI file.
When the Application starts via an entrypoint these keys will be validated and "repaired" if needet (if absent)
The Installer stores parts of its information (Feature and Component) in the Registry
HKEY_CURRENT_USER\Software\Microsoft\Installer\Features
HKEY_CURRENT_USER\Software\Microsoft\Installer\Products
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S<YOUR SID>\Components
also in Filesystem under
C:\WINDOWS\Installer\
if You explain what specific Reg-Keys You would change i could look in Acrobat's msi ;-) and give You more hints...
cu
Wolfgang Zerzawy
www.cleverits.com
Posted by:
Francoisracine
20 years ago
[HKEY_CURRENT_USER\Software\Adobe\Acrobat Reader\6.0\AdobeViewer]
"EULA"=dword:00000001
[HKEY_CURRENT_USER\Software\Adobe\Acrobat Reader\6.0\AdsInReader]
"bShowAds"=dword:00000000
[HKEY_CURRENT_USER\Software\Adobe\Acrobat Reader\6.0\Originals]
"bDisplayAboutDialog"=dword:00000000
[HKEY_CURRENT_USER\Software\Adobe\Acrobat Reader\6.0\Updater]
"bShowAutoUpdateConfDialog"=dword:00000000
"bShowNotifDialog"=dword:00000000
"iUpdateFrequency"=dword:00000000
So during the installation, I will have to run msiexec /i /jm ....msi transforms=...mst allusers=1 /qn?
"EULA"=dword:00000001
[HKEY_CURRENT_USER\Software\Adobe\Acrobat Reader\6.0\AdsInReader]
"bShowAds"=dword:00000000
[HKEY_CURRENT_USER\Software\Adobe\Acrobat Reader\6.0\Originals]
"bDisplayAboutDialog"=dword:00000000
[HKEY_CURRENT_USER\Software\Adobe\Acrobat Reader\6.0\Updater]
"bShowAutoUpdateConfDialog"=dword:00000000
"bShowNotifDialog"=dword:00000000
"iUpdateFrequency"=dword:00000000
So during the installation, I will have to run msiexec /i /jm ....msi transforms=...mst allusers=1 /qn?
Posted by:
CleverITS
20 years ago
Hi,
Your Commandline is not correct,
You should use (Case sensitive!!!) :
msiexec.exe /jm "yourmsi.msi" TRANSFORMS="yourtransform.mst" ALLUSERS=1 /qthis "advertises" an Installation to Your Computer (creates only the entry-points, no files etc.. ) after that to give it a little Performance optimizing you can do the "full Install) instead of /jm use the /i commandline
better would be to store the ALLUSERS Property in Your Transform:
in Orca's Transform View (if You have already a Transform -- Transform-Apply Transform, if New: Transform -- New Transform):
go to Property Table, (in my Reader.msi there is already a ALLUSERS = 1) and create or change the Record if not present or <> 1
for the Regkeys (I describe only two of them... important is the Component - Value! In Your case you should use "Reader_Registry_user" for all Your HKCU Keys...:
Add to registry Table (in Transform-View):
Registry: _Reg01
Root: 1
Key: Software\Adobe\Acrobat Reader\6.0\AdobeViewer
Name: EULA
Value : #1
Component: Reader_Registry_user
Registry: _Reg02
Root: 1
Key: Software\Adobe\Acrobat Reader\6.0\AdsInReader
Name: bShowAds
Value: #0
Component: Reader_Registry_user
Your Commandline is not correct,
You should use (Case sensitive!!!) :
msiexec.exe /jm "yourmsi.msi" TRANSFORMS="yourtransform.mst" ALLUSERS=1 /qthis "advertises" an Installation to Your Computer (creates only the entry-points, no files etc.. ) after that to give it a little Performance optimizing you can do the "full Install) instead of /jm use the /i commandline
better would be to store the ALLUSERS Property in Your Transform:
in Orca's Transform View (if You have already a Transform -- Transform-Apply Transform, if New: Transform -- New Transform):
go to Property Table, (in my Reader.msi there is already a ALLUSERS = 1) and create or change the Record if not present or <> 1
for the Regkeys (I describe only two of them... important is the Component - Value! In Your case you should use "Reader_Registry_user" for all Your HKCU Keys...:
Add to registry Table (in Transform-View):
Root: 1
Key: Software\Adobe\Acrobat Reader\6.0\AdobeViewer
Name: EULA
Value : #1
Component: Reader_Registry_user
Registry: _Reg02
Root: 1
Key: Software\Adobe\Acrobat Reader\6.0\AdsInReader
Name: bShowAds
Value: #0
Component: Reader_Registry_user
Posted by:
Francoisracine
20 years ago
Posted by:
CleverITS
20 years ago
Hi,
with /jm You do an "advertised Installation" this just creates the entrypoints as described before, but does not install any files (does not complete the Installation). This normally must run under an account with administrative privileges.
It also enables "normal" Users to complete the softwareInstallation -
If You advertise an Installation and create e.g. a StartmenuIcon it first does not much. But if a logged in User clicks this icon (or any other Entrypoints like FileExtension (doubleclick to .pdf file), Classes etc..) he can complete the Installation (Install Elevated) even he's a normal user. Msiexec.exe takes care of the neccesary rights..
If You run only an /i Installation it is not guaranteed that All Users can complete the Installation. (/i does just an Install, but no advertisement - so if a normal User starts the Application it is not sure that he can complete the Installation)
hope this helps
Wolfgang Zerzawy
CleverITS
www.cleverits.com
with /jm You do an "advertised Installation" this just creates the entrypoints as described before, but does not install any files (does not complete the Installation). This normally must run under an account with administrative privileges.
It also enables "normal" Users to complete the softwareInstallation -
If You advertise an Installation and create e.g. a StartmenuIcon it first does not much. But if a logged in User clicks this icon (or any other Entrypoints like FileExtension (doubleclick to .pdf file), Classes etc..) he can complete the Installation (Install Elevated) even he's a normal user. Msiexec.exe takes care of the neccesary rights..
If You run only an /i Installation it is not guaranteed that All Users can complete the Installation. (/i does just an Install, but no advertisement - so if a normal User starts the Application it is not sure that he can complete the Installation)
hope this helps
Wolfgang Zerzawy
CleverITS
www.cleverits.com
Posted by:
Francoisracine
19 years ago
Posted by:
CleverITS
19 years ago
Sorry, You can't "advertise" an uninstall.
If You really plan to remove all User-parts You have to solve it via Custom Action or a Autostart- "remove.reg" file
But: normally it is not really neccesary to remove all of the User-staff. If You plan to deploy the next Version of the Software it is sometimes an advantage to have this Information.
don't mind to much about that "rest of an installation" - more important is that Your HKLM / Machine-dependent Information is removed.
Wolfgang Zerzawy
CleverITS
If You really plan to remove all User-parts You have to solve it via Custom Action or a Autostart- "remove.reg" file
But: normally it is not really neccesary to remove all of the User-staff. If You plan to deploy the next Version of the Software it is sometimes an advantage to have this Information.
don't mind to much about that "rest of an installation" - more important is that Your HKLM / Machine-dependent Information is removed.
Wolfgang Zerzawy
CleverITS
Posted by:
NewOrder
19 years ago
Posted by:
Francoisracine
19 years ago
From the Installshield tuner there is 2 HKLM\software key and 2 HKCU\Software key one is lowercase and one in uppercase. Why?
I import HKCU key from a reg file and they are appearing in my MST but these keys are not appearing when the software is install.
I am installing my software with the following process:
msiexec.exe /jm "Sources\Standard\6.0_standard\AcroStan.msi" TRANSFORMS="acrostan.mst" ALLUSERS=1 /q
sources\Standard\6.0_standard\setup.exe /s /w /L1036 /v" TRANSFORMS=acrostan.mst Sourcelist="%RIS%\%trousse%\sources\Standard\6.0_standard" /L*v "%temp%\%trousse%.log" /qn"
::6.0.1
Sources\Standard\6.0.1\Ac60BaP1.exe -s -a "/p Ac60BaP1.msp REINSTALLMODE=omus REINSTALL=ALL /qn"
::6.0.2
MSIEXEC /qn /i"Sources\Standard\6.0.2\Adobe Acrobat - Reader 6.0.2 Update.msi" Sourcelist="%RIS%\%trousse%\sources\Sources\Standard\6.0.2" /L*v "%temp%\%trousse%.log"
I import HKCU key from a reg file and they are appearing in my MST but these keys are not appearing when the software is install.
I am installing my software with the following process:
msiexec.exe /jm "Sources\Standard\6.0_standard\AcroStan.msi" TRANSFORMS="acrostan.mst" ALLUSERS=1 /q
sources\Standard\6.0_standard\setup.exe /s /w /L1036 /v" TRANSFORMS=acrostan.mst Sourcelist="%RIS%\%trousse%\sources\Standard\6.0_standard" /L*v "%temp%\%trousse%.log" /qn"
::6.0.1
Sources\Standard\6.0.1\Ac60BaP1.exe -s -a "/p Ac60BaP1.msp REINSTALLMODE=omus REINSTALL=ALL /qn"
::6.0.2
MSIEXEC /qn /i"Sources\Standard\6.0.2\Adobe Acrobat - Reader 6.0.2 Update.msi" Sourcelist="%RIS%\%trousse%\sources\Sources\Standard\6.0.2" /L*v "%temp%\%trousse%.log"
Posted by:
CleverITS
19 years ago
to NewOrder: thanks for the Doc-link! this explains exactly what repair is doing. We're normally trying to consolidate multiple Features to (if possible) one single Feature.
to Francoisracine (such a long name... ;-) where are You from?
The story of SOFTWARE and Software:
HKLM is uppercase
HKCU is lowercase and nobody knows why... ;-)
Serios: just keep it in mind and normally it isn't a problem if You accidentally use HKLM\Software ... because this key already exists.
I've never tested if this could cause a selfrepair. Has anybody tested this? (i don't guess that a repair is triggered, because it just tests the Key/Value)
regarding Your Problem with the Transform:
1) try to use a full Path to the Transform and use "" maybe the reason is the "workingDirectory" of the msiexec calling Process, so the transform is not in the actual Path.
2) try to use the full-logfile ( l*v) and analyze it for TRANSFORM ...
msiexec.exe /jm "Sources\Standard\6.0_standard\AcroStan.msi" TRANSFORMS="Sources\Standard\6.0_standard\acrostan.mst" ALLUSERS=1 /L*v "%temp%\Acro60.log" /q
Wolfgang Zerzawy
CleverITS
to Francoisracine (such a long name... ;-) where are You from?
The story of SOFTWARE and Software:
HKLM is uppercase
HKCU is lowercase and nobody knows why... ;-)
Serios: just keep it in mind and normally it isn't a problem if You accidentally use HKLM\Software ... because this key already exists.
I've never tested if this could cause a selfrepair. Has anybody tested this? (i don't guess that a repair is triggered, because it just tests the Key/Value)
regarding Your Problem with the Transform:
1) try to use a full Path to the Transform and use "" maybe the reason is the "workingDirectory" of the msiexec calling Process, so the transform is not in the actual Path.
2) try to use the full-logfile ( l*v) and analyze it for TRANSFORM ...
msiexec.exe /jm "Sources\Standard\6.0_standard\AcroStan.msi" TRANSFORMS="Sources\Standard\6.0_standard\acrostan.mst" ALLUSERS=1 /L*v "%temp%\Acro60.log" /q
Wolfgang Zerzawy
CleverITS
Posted by:
Francoisracine
19 years ago
I am from Quebec City Canada
Both both software in HKLM and HKCU are uppercase and lowercase and they do not contain the same data. Very strange.
But the mst is working and applied the problem is really on HKCU values.
I am already doing it.
The story of SOFTWARE and Software:
HKLM is uppercase
HKCU is lowercase and nobody knows why... ;-)
Both both software in HKLM and HKCU are uppercase and lowercase and they do not contain the same data. Very strange.
1) try to use a full Path to the Transform and use "" maybe the reason is the "workingDirectory" of the msiexec calling Process, so the transform is not in the actual Path.
But the mst is working and applied the problem is really on HKCU values.
2) try to use the full-logfile ( l*v) and analyze it for TRANSFORM ...
I am already doing it.
Posted by:
CleverITS
19 years ago
Canada -- great!!! this is one of my next destinations to see.
I'm a german from Munich.
okay I think I missunderstood You regarding with that regkeys. I thought You wonder why in regedit they're different.
now i guess You have two different spellings in Your transform caused by InstallShield Tuner.
I'm not really a fan of IS Tuner so let's do it with orca, quite easy:
in Orca
1) open Your base MSI
2) Apply Your MST
now You should have some green marked entries in your Registry Table.
Check that they're linked to a correct Component that will be installed
(best choice: use some Component You know it's installed from the base MSI as User Component).
Are there any strange Conditions at this Component (in Component Table)
3) run a Validation and check that there is no error regarding Your Keys
btw: can You post these Keys? sounds interesting.
make sure that You select in Tools-- Options -- Database "copy embedded streams during 'Save AS'
4) "Generate" new Transform with orca (for testing) and call this Orca generated Transform (I had sometimes IS Tuner generated mst which doesn't work)
5) "Save" Transformed As (MSI + MST = newMSI) and test this complete MSI to see if it is generally working
6) Does the Transform work if You call msi + mst from Your local Drive
more Info about Transforms:
http://www.installshield.com/news/newsletter/0301-articles/TransformOpts.asp
cu Zacky
Wolfgang Zerzawy
CleverITS
I'm a german from Munich.
okay I think I missunderstood You regarding with that regkeys. I thought You wonder why in regedit they're different.
now i guess You have two different spellings in Your transform caused by InstallShield Tuner.
I'm not really a fan of IS Tuner so let's do it with orca, quite easy:
in Orca
1) open Your base MSI
2) Apply Your MST
now You should have some green marked entries in your Registry Table.
Check that they're linked to a correct Component that will be installed
(best choice: use some Component You know it's installed from the base MSI as User Component).
Are there any strange Conditions at this Component (in Component Table)
3) run a Validation and check that there is no error regarding Your Keys
btw: can You post these Keys? sounds interesting.
make sure that You select in Tools-- Options -- Database "copy embedded streams during 'Save AS'
4) "Generate" new Transform with orca (for testing) and call this Orca generated Transform (I had sometimes IS Tuner generated mst which doesn't work)
5) "Save" Transformed As (MSI + MST = newMSI) and test this complete MSI to see if it is generally working
6) Does the Transform work if You call msi + mst from Your local Drive
more Info about Transforms:
http://www.installshield.com/news/newsletter/0301-articles/TransformOpts.asp
cu Zacky
Wolfgang Zerzawy
CleverITS
Posted by:
Francoisracine
19 years ago
Yes, Canada is great!
Your post is very interesting. I spent a lot of time making works this MST and it is an emergency because there is a lot of people waiting for Acrobat 6.0.2... our lawyers.
I don't know if I will have enough time to try with Orca but your idea is good.
I have 2 others questions:
1. When I am removing Acrobat 6.0 Standard with msiexec /x, it is breaking Office 97 with an error message about autoexec module... very strange.
2. I found I cannot reinstall Acrobat 6.0 Standard with the same commandline after an uninstall. Seems it is working correctly with Office 2000 but not with Office 97.
3. I am using AdminStudio SMS Edition and for every account loggin on the computer SMS Edition Windows Installer is repairing.
Any idea?
Your post is very interesting. I spent a lot of time making works this MST and it is an emergency because there is a lot of people waiting for Acrobat 6.0.2... our lawyers.
I don't know if I will have enough time to try with Orca but your idea is good.
I have 2 others questions:
1. When I am removing Acrobat 6.0 Standard with msiexec /x, it is breaking Office 97 with an error message about autoexec module... very strange.
2. I found I cannot reinstall Acrobat 6.0 Standard with the same commandline after an uninstall. Seems it is working correctly with Office 2000 but not with Office 97.
3. I am using AdminStudio SMS Edition and for every account loggin on the computer SMS Edition Windows Installer is repairing.
Any idea?
Posted by:
CleverITS
19 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.