Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

MSI and providing template data for users Personal Folder

125 views
Skip to first unread message

docschnipp

unread,
Apr 4, 2008, 5:02:00 PM4/4/08
to
Hi,

I've created an installer with WiX and I need to install some Data to the
personal folder of the user.

When I declare this:

<Directory Id="PersonalFolder">
<Directory Id="DocumentsMyCompany" Name="My Company">
<Directory Id="DocumentsMyCompanyProduct" Name="My Product">

I get (of course) a lot of ICE38, ICE64 and ICE91 warnings.

I do understand the error messages and it is clear for me, what they mean.
But HOW is the official way to install something that will automatically
copied to each users profile in a per machine installation (which is what I
want, I am setting ALLUSERS to 2).

Also, how can I declare that I don't want to remove a specific folder on
uninstall (because usually the users want to keep the data in it)

thanks
doc

Dennis Bareis

unread,
Apr 4, 2008, 7:37:23 PM4/4/08
to
Hi,

On Fri, 4 Apr 2008 14:02:00 -0700, docschnipp <docsc...@newsgroup.nospam> wrote:

>But HOW is the official way to install something that will automatically
>copied to each users profile in a per machine installation (which is what I
>want, I am setting ALLUSERS to 2).

A section of my MAKEMSI manual has most of the info you need:

http://makemsi-manual.dennisbareis.com/per_machine_installations_with_some_per_user_resources.htm

>Also, how can I declare that I don't want to remove a specific folder on
>uninstall (because usually the users want to keep the data in it)

Uninstallation of per-user data is not performed, except perhaps for the
uninstalling user. To prevent this is the same as preventing uninstallation of any
resource.

Bye,
Dennis
Dennis Bareis [Microsoft MVP] (dba...@KillSpam.gmail.com)
http://dennisbareis.com/
Freeware Windows Installer creation tool (+ "ORCA automation"):
http://makemsi.dennisbareis.com/

docschnipp

unread,
Apr 5, 2008, 4:31:00 AM4/5/08
to
"Dennis Bareis" wrote:

> Hi,
>
> On Fri, 4 Apr 2008 14:02:00 -0700, docschnipp <docsc...@newsgroup.nospam> wrote:
>
> >But HOW is the official way to install something that will automatically
> >copied to each users profile in a per machine installation (which is what I
> >want, I am setting ALLUSERS to 2).
>
> A section of my MAKEMSI manual has most of the info you need:
>
> http://makemsi-manual.dennisbareis.com/per_machine_installations_with_some_per_user_resources.htm
>

Hm, the nicest thing (because it is a automatic feature) seems to be active
setup with performing an administrative repair install then. Can you tell me
when active setup is triggered and the components are being updated?

Concerning MyDocuments:
I am now detecting the MyDocuments folder by this:

<Property Id="TARGETMYDOCUMENTS">
<DirectorySearch Id="DETECTMyDocuments" Path="[PersonalFolder]"/>
</Property>

This seems to work (though, I know, it only installs it for the current user
now).

> >Also, how can I declare that I don't want to remove a specific folder on
> >uninstall (because usually the users want to keep the data in it)
>
> Uninstallation of per-user data is not performed, except perhaps for the
> uninstalling user. To prevent this is the same as preventing uninstallation of any
> resource.

That is actually exactly what I want. In MyDocuments there will be a folder
with some sample data but the users also stores data in this. So removing it
automatically is actually never an option.

thanks
doc

Linda Liu[MSFT]

unread,
Apr 7, 2008, 12:46:39 AM4/7/08
to
Hi Doc,

> how can I declare that I don't want to remove a specific folder on
uninstall (because usually the users want to keep the data in it)

After you create an MSI package using WIX, open the resulting MSI package
using Orca and go to the Component table. Set the value under the
Attributes column for the components you don't want to remove on
uninstallation to 16.

The bit flag name for the value of 16 is msidbComponentAttributesPermanent.
If this bit is set, the installer does not remove the component during an
uninstall. The installer registers an extra system client for the component
in the Windows Installer registry settings.

Hope this helps.
If you have any question, please feel free to let me know.

Sincerely,
Linda Liu
Microsoft Online Community Support

Delighting our customers is our #1 priority. We welcome your comments and
suggestions about how we can improve the support we provide to you. Please
feel free to let my manager know what you think of the level of service
provided. You can send feedback directly to my manager at:
msd...@microsoft.com.

==================================================
Get notification to my posts through email? Please refer to
http://msdn.microsoft.com/subscriptions/managednewsgroups/default.aspx#notif
ications.

Note: The MSDN Managed Newsgroup support offering is for non-urgent issues
where an initial response from the community or a Microsoft Support
Engineer within 1 business day is acceptable. Please note that each follow
up response may take approximately 2 business days as the support
professional working with you may need further investigation to reach the
most efficient resolution. The offering is not appropriate for situations
that require urgent, real-time or phone-based interactions or complex
project analysis and dump analysis issues. Issues of this nature are best
handled working with a dedicated Microsoft Support Engineer by contacting
Microsoft Customer Support Services (CSS) at
http://msdn.microsoft.com/subscriptions/support/default.aspx.
==================================================
This posting is provided "AS IS" with no warranties, and confers no rights.


Kalle Olavi Niemitalo

unread,
Apr 7, 2008, 4:00:24 AM4/7/08
to
v-l...@online.microsoft.com (Linda Liu[MSFT]) writes:

> After you create an MSI package using WIX, open the resulting MSI package
> using Orca and go to the Component table. Set the value under the
> Attributes column for the components you don't want to remove on
> uninstallation to 16.
>
> The bit flag name for the value of 16 is msidbComponentAttributesPermanent.

That bit can be set with <Component Permanent="yes" ...> in WiX.

0 new messages