How to replace appsrv.ini in ica32pkg.msi?

ica32pkg.msi installs CItrix client on a Windows workstation. How to replace the appsrv.ini file inside this MSI package with one containing customized settings?
jingdanAsked:
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.

NeOXinHuHCommented:
Hi jingdan

Use ORCA to edit your .msi package.

More info: http://support.microsoft.com/kb/255905

Best Regards
Vadim RappCommented:
Unlike all other files, .ini files in .msi are handled in a special way. They are handled not as files but as individual keys and their values, per-line, similar to registry settings. Inside the msi, there is special table INIFILE that holds each line of the .ini file. So, what you have to do in ORCA is not to replace the ini file, but put customized keys and their values into INIFILE table.
jingdanAuthor Commented:
Thanks vadimrapp1!
Is INIFILE the only table that needs to be involved?
Could you use an example to explain in more detailed steps regarding "put customized keys and their values into INIFILE table" for a INI file using ORCA?
Maximize Customer Retention with Superior Service

The IT Service Excellence Tool Kit delivers expert advice for technology solution providers. Get your free copy for valuable how-to assets including sample agreements, checklists, flowcharts, and more to help build customer satisfaction and retention.

Vadim RappCommented:
1. if you don't have orca, download from http://www.brentnorris.net/orca.msi and install

2. make backup copy of the msi file

3. open msi in orca

4. open table Component and find the component that holds the executable that will be reading the ini file (preferred way; it can be any other, but better if things within one component are related). Write down component name and directory.

5. open table IniFile, add row(s). Let's say, you want to add key1=value1 in section [Section1]

Inifile - anything; must be unique within this column
filename = test.ini
DirProperty = Directory from (3)
Section = section1
key = key1
value = value1
action=0
Component - from (3)

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
Vadim RappCommented:
correction: directory and component from (4)
Vadim RappCommented:
Oscar, I'm confused, are you and jingdan the same person?
oahrensCommented:
Nope... Just have the same issue.
Vadim RappCommented:
then the same solution should work - create one line in the table for each pair key/value you want in the .ini file. For example,

Inifile - 1
filename = appsrv.ini
DirProperty = <see my previous post>
Section = WFClient
key = SSOnUserSetting
value = On
action=0
Component - <see my previous post>

Inifile - 2
filename = appsrv.ini
DirProperty = <see my previous post>
Section = WFClient
key = EnableSSOnThruICAFile
value = On
action=0
Component - <see my previous post>

...and so on.
oahrensCommented:
Vadimrapp1,
Thanks for the details. It worked perfectly.

Vee Mod,
Will do.. Sorry for the confusion. My apologies to all.

--Oscar
jingdanAuthor Commented:
It looks like I am late to the party :)
Thanks for the detailed instructions Vadimrapp1! I will try it and let you know the results.
jingdanAuthor Commented:
vadimrapp1:

I am still testing the solution, but still not working. For example, by editing the InFile table, I can have the customized icon added, but actual connection to Citrix server is still failing. Maybe there are more table involved in my case?

I have accepted and awarded the points to you since your solution indeed helped, although there are still issues remaining.
Vadim RappCommented:
I think the path to the solution is that at this point you should separate the issue of placing the values into the .ini file and the issue of these values being sufficient for the purpose.

As I understand, what I have suggested worked, and the values that you have specified in the installation have made their way into the resulting ini file.

If so, then further solution obviously lies in the area of finding the exact set of ini values that will make your citrix happy. Once you know them, you will put them in the installation the same way as you did before. If this is all so indeed, then your downgrading the solution to B when the question clearly was only about the .ini file itself, looks somewhat surprising.

Take care.
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.