Appending Path Variables with MST

Hi,

I am the process of creating an installation package for Covierty.  One of the requirements of the install is to set the path variable in the registry.

It is best to do it within the MST and install them both together.

Can anyone provide examples of how to append a path envrionment variable within the MST itself?

Thanks!
ResoneticsAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Vadim RappCommented:
For example, if you are going to use Orca:

1. open the original msi
2. menu Transform -> new transform
3. insert new line into the table "Environment":
environment: Path
name: *=-Path
Value: [~];c:\mypath
Component: (pick the one related to this variable)

(for more details, see article "Environment Table")

4. Menu Transform / Generate Transform....
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
ResoneticsAuthor Commented:
Makes sense.  Just not sure about the component field.  What is typically contained in that field?

Thanks!
0
Vadim RappCommented:
it must be one of the components from the table "Component". For example, it can be the component that contains the executable that is supposed to be found by this Path. Find that executable in the table "File", and specify the same component as there.
0
Fundamentals of JavaScript

Learn the fundamentals of the popular programming language JavaScript so that you can explore the realm of web development.

ResoneticsAuthor Commented:
I see.  And how is the correct component determined?  There are a lot of entries in the component table to choose from.
0
ResoneticsAuthor Commented:
I was able to figure it out.  There is an entry in the component table called "registryData_HKLM" so I picked that one and tested it out.  Everything works as expected.

Thanks for the assistance.
0
ResoneticsAuthor Commented:
Thanks for the help.  This got me started and I was able to figure out the rest.
0
Vadim RappCommented:
Regarding the choice of the component. Practically, the only thing that matters is to ensure that your path variable will be configured whenever that component is installed. In simple installations there are no conditions, but sometimes there can be situations when certain component does not get installed. For example, if that component has an attached condition; or that component is a dll, and target system already has this dll of higher version; of the installation has several features, and the feature this component belongs to is optional.

For this reason, the following logic usually works best. Ask yourself: why do we need to configure path variable to begin with? answer: to ensure that certain executable X within the installation could be launched from anywhere in the system. From there, it makes the most sense to attach the path configuration to the same component where the executable X belongs. So whenever the executable is installed, the path will be configured, and if not, then not.

Both tables File and Environment have column "Component" being the foreign key of of the table Component. So if we want to find the component executable X belongs to, we go to the table "File", find our executable by file name, and make a note of the component, which is in another column. Then we specify the same component in the record in Environment table. Now this component will have the executable and the path "in one bottle".

Or, as an alternative, we can create separate component just for environment variable. This component will have to be specified in the table Component and in the table FeatureComponents.
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Installation

From novice to tech pro — start learning today.