Groups | Blog | Home
all groups > visual studio .net general > march 2004 >

visual studio .net general : Overriding Standard properties from ORCA.


Prab_kar NO[at]SPAM hotmail.com
3/5/2004 12:59:06 PM
Hello all,
I need to overide default values of certain standard properties in my
..msi.
After creating an .msi, I want to edit the Property table with ORCA
and set certain properties, like AppDataFolder to a new value.

I think AppDataFolder defaults to "C:\Documents and
settings\...\Application Data", I need to change this e.g., to
"C:\FooFolder" .

Should I be using ORCA for this? Is this possible?

Thanks for your time,
Dennis Bareis
3/6/2004 9:12:59 AM
[quoted text, click to view]

If this is not a once off then have a look at my MAKEMSI tool as it
can automate anything ORCA can do.

With my tools you could manually do it once and then capture the
changes for automation. procedure:

1. Copy MSI to before.msi
2. Use orca to make changes
3. Test changes
4. Use one of my associations (or MSIDIFF) to compare the new msi
with the before image
5. Twwek the captured stuff to remove anything you don't want
(probably summary changes).
6. Rerun as required (not constants (file names etc) can be changed
to command line values).

Bye,
Dennis



----------------------------
Dennis Bareis (dbareis@KillSpam.labyrinth.net.au)
http://www.labyrinth.net.au/~dbareis/index.htm

Free MSI automation/creation tool:
http://www.labyrinth.net.au/~dbareis/makemsi.htm
Phil Wilson
3/6/2004 4:10:44 PM
No you can't do this. These are standard properties that you can't change.
It's not clear to me whether you want to change those actual values on the
target system or whether you just want to install some of your files to a
particular location on the target system.
--
Phil Wilson
[MVP Windows Installer]
[quoted text, click to view]

Prab_kar NO[at]SPAM hotmail.com
3/6/2004 6:53:15 PM
[quoted text, click to view]




Thanks Dennis for your response.
Actually, I wanted to see *if* its possible to override the standard
properties with ORCA or even from the command-line.

I tried editing the Property table with ORCA and added a new row, with
AppDataFolder set to "C:\FooFolder". It didnt work, the file got
installed in the location as defined in the Windows Registry for
AppDataFolder.

I also tried running the msi as,
msiexec /I Foo.msi AppDataFolder="C:\FooFolder"

It still didnt work.

Is it not possible to override these properties?
For any other user-defined property , [TestProperty] this worked fine
from editing with ORCA or cmd-line property definition. But, it doesnt
seem to work for the properties already defined in the Registry or
even Environment variables.

Thanks,
Prab_kar NO[at]SPAM hotmail.com
3/7/2004 2:30:36 PM
[quoted text, click to view]
Thanks for the responses, Dennis and Phil.

[quoted text, click to view]

Does this mean that private properties (mixture of upper and lower
case)
can be overwritten by editing the Property table? Or, overriding them
is not possible, per se, cmd-line or no cmd-line?

My concern is more with the AppDataFolder property.
I realize "C:\FooFolder" is a bad example, but I had to change it to a
value other than "C:\Document and Settings\<login>\Application Data".
Is this possible at all :)?

Once again, thanks for your time,
Dennis Bareis
3/7/2004 4:24:13 PM
Hi,

[quoted text, click to view]

Only PUBLIC (all upper case) properties can be changed on the command
line, I'm not sure why you want to make this change and if you are
saying setting a property to the desired value still doesn't work I
think there is still another possibility which I haven't tested and
that is to set up an ALL UPPERCASE directory entry as an "alias" for
the "AppDataFolder" and then override that or create a completely
independant set and then update component tables etc to
point them to your new keys.

Bye,
Dennis

----------------------------
Dennis Bareis (dbareis@KillSpam.labyrinth.net.au)
http://www.labyrinth.net.au/~dbareis/index.htm

Free MSI automation/creation tool:
http://www.labyrinth.net.au/~dbareis/makemsi.htm
AddThis Social Bookmark Button