Unfortuantly I do not think there is a way to do this via the UI. The best
option is to modify the MSI using the SDK tool ORCA. It should be a simple
field change in the MSI tables. You should be able to find the MSI SDK on
MSDN or Microsoft Web Site.
Patrick Baker - Visual Basic/Deployment Quality Assurance Team
This posting is provided "AS IS" with no warranties, and confers no rights.
--------------------
[quoted text, click to view] >Thread-Topic: Can I tell MSI to forget about a file it installs.
>thread-index: AcQj9e09kpY1iFvCSb29LmiC+dqk5g==
>X-WN-Post: microsoft.public.vsnet.setup
>From: "=?Utf-8?B?SmltRw==?=" <anonymous@discussions.microsoft.com>
>Subject: Can I tell MSI to forget about a file it installs.
>Date: Fri, 16 Apr 2004 14:01:02 -0700
>Lines: 13
>Message-ID: <C2AF4187-057D-48F0-934C-9443734018F4@microsoft.com>
>MIME-Version: 1.0
>Content-Type: text/plain;
> charset="Utf-8"
>Content-Transfer-Encoding: 7bit
>X-Newsreader: Microsoft CDO for Windows 2000
>Content-Class: urn:content-classes:message
>Importance: normal
>Priority: normal
>X-MimeOLE: Produced By Microsoft MimeOLE V6.00.3790.0
>Newsgroups: microsoft.public.vsnet.setup
>Path: cpmsftngxa10.phx.gbl
>Xref: cpmsftngxa10.phx.gbl microsoft.public.vsnet.setup:5124
>NNTP-Posting-Host: tk2msftcmty1.phx.gbl 10.40.1.180
>X-Tomcat-NG: microsoft.public.vsnet.setup
>
>I created a Setup project in VS.NET 2003 that installs files to a folder
of another Application. My Setup would be considered "Delivering an Add-In".
One problem came up because when the Application is run for the 1st time
after the "add-in" is installed, the Application detects files of a certain
type and proceeds to convert them (normal operation for this Application).
One of the files from my setup gets converted to another file type thereby
removing it from the folder. MSI see's that the file is mssing and repairs
it. The Application see's this new file and wants to convert again, and on,
and on.., things get loopy in a big hurry.
Is there a property I can set on this file that tells the MSI core to
ignore that the file is gone and not repair it, and for that matter, forget
about it altogether?
OR
I'm thinking a custom action might work if I write it so that the file that
gets converted is renamed using another type and then included in the Setup
project with this new name. The MSI delivers the file and the custom action
script makes a copy of it renaming the filetype part. The MSI won't be able
to track the custom action script doing this and will essentially not do
anything about the converted file.
Thoughts?
TIA
[quoted text, click to view] >
I've looked in the MSI SDK, and browsed all the table definitions.
The closest thing I found is the "Files" table and the "Attributes" column.
There is a flag "msidbFileAttributesVital" but this is also available in the
VS.NET Properties Page.
Can you be more specific about which Table/Column/Value needs to be set to
specify that a file needs to be installed, but afterwards no longer needs to
be tracked?
I have an application that installs some sample configuration files. If the
user deletes these samples, the next time the application starts, it tries
to "repair" the installation and reinstall these files. This is not what I
want.
Any more detail you can provide would be greatly appreciated.
Michael
[quoted text, click to view] "Patrick Baker [MSFT]" <PatBak@online.microsoft.com> wrote in message
news:zirDV3LKEHA.1460@cpmsftngxa10.phx.gbl...
> Unfortuantly I do not think there is a way to do this via the UI. The best
> option is to modify the MSI using the SDK tool ORCA. It should be a simple
> field change in the MSI tables. You should be able to find the MSI SDK on
> MSDN or Microsoft Web Site.
>
> Patrick Baker - Visual Basic/Deployment Quality Assurance Team
> This posting is provided "AS IS" with no warranties, and confers no
rights.
>
> >I created a Setup project in VS.NET 2003 that installs files to a folder
> of another Application. My Setup would be considered "Delivering an
Add-In".
>
> One problem came up because when the Application is run for the 1st time
> after the "add-in" is installed, the Application detects files of a
certain
> type and proceeds to convert them (normal operation for this Application).
> One of the files from my setup gets converted to another file type thereby
> removing it from the folder. MSI see's that the file is mssing and repairs
> it. The Application see's this new file and wants to convert again, and
on,
> and on.., things get loopy in a big hurry.
>
> Is there a property I can set on this file that tells the MSI core to
> ignore that the file is gone and not repair it, and for that matter,
forget
> about it altogether?
>
> OR
>
> I'm thinking a custom action might work if I write it so that the file
that
> gets converted is renamed using another type and then included in the
Setup
> project with this new name. The MSI delivers the file and the custom
action
> script makes a copy of it renaming the filetype part. The MSI won't be
able
> to track the custom action script doing this and will essentially not do
> anything about the converted file.
>
> Thoughts?
>
> TIA
> >
>
You need to figure out what's causing the repair, by which I mean if it's a
shortcut or a COM activation or something else. If use of a shortcut is
triggering the repair, you could make the shortcut itself non-advertised by
changing the Shortcut table. If you want all shortcuts to be non-advertised,
edit the Property table to set the DISABLEADVTSHORTCUTS property. This will
disable repair caused by use of shortcuts.
That vital flag has nothing to do with repair, by the way.
--
Phil Wilson [MVP Windows Installer]
----
[quoted text, click to view] "Michael J. Carter" <michael@volcanictech.com> wrote in message
news:eMfKPM1NEHA.3452@TK2MSFTNGP10.phx.gbl...
> I've looked in the MSI SDK, and browsed all the table definitions.
>
> The closest thing I found is the "Files" table and the "Attributes"
column.
> There is a flag "msidbFileAttributesVital" but this is also available in
the
> VS.NET Properties Page.
>
> Can you be more specific about which Table/Column/Value needs to be set to
> specify that a file needs to be installed, but afterwards no longer needs
to
> be tracked?
>
> I have an application that installs some sample configuration files. If
the
> user deletes these samples, the next time the application starts, it tries
> to "repair" the installation and reinstall these files. This is not what I
> want.
>
> Any more detail you can provide would be greatly appreciated.
>
> Michael
>
>
> "Patrick Baker [MSFT]" <PatBak@online.microsoft.com> wrote in message
> news:zirDV3LKEHA.1460@cpmsftngxa10.phx.gbl...
> > Unfortuantly I do not think there is a way to do this via the UI. The
best
> > option is to modify the MSI using the SDK tool ORCA. It should be a
simple
> > field change in the MSI tables. You should be able to find the MSI SDK
on
> > MSDN or Microsoft Web Site.
> >
> > Patrick Baker - Visual Basic/Deployment Quality Assurance Team
> > This posting is provided "AS IS" with no warranties, and confers no
> rights.
> >
> > >I created a Setup project in VS.NET 2003 that installs files to a
folder
> > of another Application. My Setup would be considered "Delivering an
> Add-In".
> >
> > One problem came up because when the Application is run for the 1st time
> > after the "add-in" is installed, the Application detects files of a
> certain
> > type and proceeds to convert them (normal operation for this
Application).
> > One of the files from my setup gets converted to another file type
thereby
> > removing it from the folder. MSI see's that the file is mssing and
repairs
> > it. The Application see's this new file and wants to convert again, and
> on,
> > and on.., things get loopy in a big hurry.
> >
> > Is there a property I can set on this file that tells the MSI core to
> > ignore that the file is gone and not repair it, and for that matter,
> forget
> > about it altogether?
> >
> > OR
> >
> > I'm thinking a custom action might work if I write it so that the file
> that
> > gets converted is renamed using another type and then included in the
> Setup
> > project with this new name. The MSI delivers the file and the custom
> action
> > script makes a copy of it renaming the filetype part. The MSI won't be
> able
> > to track the custom action script doing this and will essentially not do
> > anything about the converted file.
> >
> > Thoughts?
> >
> > TIA
> > >
> >
>
>