The help on this says "Action: Choose the desired editing action from the drop down list".
I think it would be really useful to expand that a little, if nothing else explain what the difference between a line and a tag is in your view of INI files. Having to code up a sample and see what each option does is annoying.
Edit INI File - difference between Tag-Remove and Line-Remov
Edit INI File - difference between Tag-Remove and Line-Remov
Last edited by moz on Thu May 03, 2007 5:22 pm, edited 1 time in total.
-
- Posts: 3452
- Joined: Thu Dec 22, 2005 7:17 pm
- Contact:
These are standard Windows Installer actions. Please review your Microsoft SDK documentation for Windows Installer, which contains the detailed explanation of these standard MSI actions.
Michael Nesmith
InstallAware
Home of The Next Generation MSI Installer
Get your free copy today - http://www.installaware.com/
InstallAware
Home of The Next Generation MSI Installer
Get your free copy today - http://www.installaware.com/
The little test project I just built suggests that the "remove" actions have no effect and generate no error messages.
Is there some way to get debug output or at least error messages from running the installer?
And I assume Microsoft forbid you to distribute the SDK documentation or even link to it? Sorry if this sounds grumpy, but you advertise your product as making this stuff easy, and don't mention the need to have the Installer SDK installed.
Is there some way to get debug output or at least error messages from running the installer?
And I assume Microsoft forbid you to distribute the SDK documentation or even link to it? Sorry if this sounds grumpy, but you advertise your product as making this stuff easy, and don't mention the need to have the Installer SDK installed.
-
- Posts: 3452
- Joined: Thu Dec 22, 2005 7:17 pm
- Contact:
Did you call Apply Install in your tests?
Our help file contains the command line switches you can pass to your setup, including switches that enable logging (/l=<path>).
Our help file contains the command line switches you can pass to your setup, including switches that enable logging (/l=<path>).
Michael Nesmith
InstallAware
Home of The Next Generation MSI Installer
Get your free copy today - http://www.installaware.com/
InstallAware
Home of The Next Generation MSI Installer
Get your free copy today - http://www.installaware.com/
The lines immediately before the ini edits took effect, so I'm assuming that the INI Edits should.
Is it not possible to capture the log file and show it in the IDE when running in the debugger? Perhaps I'm a bit spoiled by Delphi, but that's the sort of thing I expect to have built in.
Right now I'm running the SDK installer to get the help file, and that will not run if InstallAware is loaded (and IA won't load if it's running) so I'll have to wait and see.
Is it not possible to capture the log file and show it in the IDE when running in the debugger? Perhaps I'm a bit spoiled by Delphi, but that's the sort of thing I expect to have built in.
Right now I'm running the SDK installer to get the help file, and that will not run if InstallAware is loaded (and IA won't load if it's running) so I'll have to wait and see.
-
- Posts: 3452
- Joined: Thu Dec 22, 2005 7:17 pm
- Contact:
Please read the help topic titled "Classes of Commands" - that should clear up the confusion.
I've also looked up the info from the MS SDK docs for you:
Constant Hexadecimal Decimal Modification
msidbIniFileActionAddLine 0x000 0 Creates or updates a .ini entry.
msidbIniFileActionCreateLine 0x001 1 Creates a .ini entry only if the entry does not already exist.
msidbIniFileActionAddTag 0x003 3 Creates a new entry or appends a new comma-separated value to an existing entry.
I've also looked up the info from the MS SDK docs for you:
Constant Hexadecimal Decimal Modification
msidbIniFileActionAddLine 0x000 0 Creates or updates a .ini entry.
msidbIniFileActionCreateLine 0x001 1 Creates a .ini entry only if the entry does not already exist.
msidbIniFileActionAddTag 0x003 3 Creates a new entry or appends a new comma-separated value to an existing entry.
Michael Nesmith
InstallAware
Home of The Next Generation MSI Installer
Get your free copy today - http://www.installaware.com/
InstallAware
Home of The Next Generation MSI Installer
Get your free copy today - http://www.installaware.com/
Thanks for the SDK stuff - would I be right to assume that the "remove" entries work the same way, with key removing the whole line if there's an exact match, and tag removing the matching csv entry only?
So to remove a section/key value I need to:
- get ini file settings into a variable
- edit ini file with section/key/value and the "remove key" option
You know, progress dialogs that only shift every 10 minutes or so are really quite disconcerting. I keep wondering if the SDK installer has hung but it's just downloading 600MB over a slow link and only has ~20 visible increments. I want a numeric progress indicator!
So to remove a section/key value I need to:
- get ini file settings into a variable
- edit ini file with section/key/value and the "remove key" option
You know, progress dialogs that only shift every 10 minutes or so are really quite disconcerting. I keep wondering if the SDK installer has hung but it's just downloading 600MB over a slow link and only has ~20 visible increments. I want a numeric progress indicator!
OK, I have a test project that installs a DeleteLines.ini file with this in it:
The installer project has 5 lines added:
When I run the install I get the ini file, and it has "NewSection" and "I=Added this" added. So the edits are apparently being applied.
My goal was to see whether I can delete a line without knowing the value, just the key. But it appears form this test that I can't delete lines at all using the Edit INI File action.
Can you suggest what's going wrong, or what I can do to delete lines from ini files other than using Read From Text File/ Parse String/Replace/Set Variable/Write into Text File?
Code: Select all
[DeleteLines]
key=value
justkey=don't include this
tag=value
justtag=don't include this
The installer project has 5 lines added:
Code: Select all
Edit INI File $TARGETDIR$\\DeleteLines.ini, [DeleteLines] key=value
Edit INI File $TARGETDIR$\\DeleteLines.ini, [DeleteLines] justkey=
Edit INI File $TARGETDIR$\\DeleteLines.ini, [DeleteLines] tag=value
Edit INI File $TARGETDIR$\\DeleteLines.ini, [DeleteLines] justtag=
Edit INI File $TARGETDIR$\\DeleteLines.ini, [NewSection] I=Added this
When I run the install I get the ini file, and it has "NewSection" and "I=Added this" added. So the edits are apparently being applied.
My goal was to see whether I can delete a line without knowing the value, just the key. But it appears form this test that I can't delete lines at all using the Edit INI File action.
Can you suggest what's going wrong, or what I can do to delete lines from ini files other than using Read From Text File/ Parse String/Replace/Set Variable/Write into Text File?
-
- Posts: 3452
- Joined: Thu Dec 22, 2005 7:17 pm
- Contact:
Did you test for the delete actions at install time or uninstall time?
The changes happen at install time.
Also if you are installing the file that you are also deleting lines from, that won't work, because the file won't be installed yet at the time you are trying to delete from it - during the application of changes at Apply Install.
The changes happen at install time.
Also if you are installing the file that you are also deleting lines from, that won't work, because the file won't be installed yet at the time you are trying to delete from it - during the application of changes at Apply Install.
Michael Nesmith
InstallAware
Home of The Next Generation MSI Installer
Get your free copy today - http://www.installaware.com/
InstallAware
Home of The Next Generation MSI Installer
Get your free copy today - http://www.installaware.com/
Who is online
Users browsing this forum: No registered users and 121 guests