/build/static/layout/Breadcrumb_cap_w.png

Populating the RemoveFile Table

I am fairly new to packaging so this could possibly be a stupid question. If you have a low tolerance for stupid questions look away while you still can!

I am using Admin Studio 6.0. I’m getting an ICE64 error when I run the “Full MSI validation Suite” under the “Build” > “Validate” menu. I can't seem to translate the data from the Directory table to the RemoveFile table accurately. Is there a white paper, trick or utility which will help me figure out what entries should be in the RemoveFile table?


ICE64 checks that new directories in the user profile are removed correctly in roaming scenarios.

0 Comments   [ + ] Show comments

Answers (8)

Posted by: brenthunter2005 18 years ago
Fifth Degree Brown Belt
2
You are getting this ICE64 error because you have folders in your MSI installation that will be created in the users profile.

Say for example, you have a shortcut that is going to be created in the users StartMenu->ProgramMenuFolder->ApplicationName->Shorcut

You will have a reference to the "ApplicationName" folder in your Directory table. This also needs to go into the RemoveFile table as follows:

FileKey = FileKey001 Set this to anything, its just a reference name
Component = Set this to any component name that will be removed on uninstallation
FileName = Leave this blank, as we're not removing a file
DirProperty = Set this to the Directory name from the Directory table. eg: 'ApplicationName'
InstallMode = 2 This means remove the 'ApplicationName' directory when the Component is uninstalled
Posted by: babric 18 years ago
Senior Purple Belt
0
Did you already look at the MSDN ?

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/msi/setup/removefile_table.asp

Hope that help.
If not, could you show us how you populated your file table, and removefile table ?
Posted by: viv_bhatt1 18 years ago
Senior Purple Belt
0
I prefer Installmode = 3 value , for a simple reason it takes care of mode 1 and 2 at the same time .
ORIGINAL: brenthunter2005

You are getting this ICE64 error because you have folders in your MSI installation that will be created in the users profile.

Say for example, you have a shortcut that is going to be created in the users StartMenu->ProgramMenuFolder->ApplicationName->Shorcut

You will have a reference to the "ApplicationName" folder in your Directory table. This also needs to go into the RemoveFile table as follows:

FileKey = FileKey001 Set this to anything, its just a reference name
Component = Set this to any component name that will be removed on uninstallation
FileName = Leave this blank, as we're not removing a file
DirProperty = Set this to the Directory name from the Directory table. eg: 'ApplicationName'
InstallMode = 2 This means remove the 'ApplicationName' directory when the Component is uninstalled
Posted by: AngelD 18 years ago
Red Belt
0
The directory will get removed correctly if you use a proper deployment solution, so adding the directory to the RemoveFile table is just for "cosmetic" to remove the validation error.

viv_bhatt1:
Why would you want to delete the folder when the associated component is being installed, which in this case is "msidbRemoveFileInstallModeOnInstall"?
Posted by: viv_bhatt1 18 years ago
Senior Purple Belt
0
I believe mode 1 removes the empty folder (as the file name is left blank) if already exists in user profile location during component installation.

And mode 2 takes care of the same during uninstallation .

If this is true then this will ensure that any stray folder is deleted left by any previous installation .

Although the new installation will recretae this folder on first launch and also this will be a very rare case and can be ignored .

Cheers ,
V
Posted by: AngelD 18 years ago
Red Belt
0
Thanks for that viv_bhatt1, had forgotten that there exist "dirty" removals :)
Posted by: dubzaddict 14 years ago
Yellow Belt
0
and if i just want to delete files using an MSI?
Posted by: anonymous_9363 14 years ago
Red Belt
0
Like it says, use the RemoveFiles table. Set the InstallMode value appropriately.
Rating comments in this legacy AppDeploy message board thread won't reorder them,
so that the conversation will remain readable.
 
This website uses cookies. By continuing to use this site and/or clicking the "Accept" button you are providing consent Quest Software and its affiliates do NOT sell the Personal Data you provide to us either when you register on our websites or when you do business with us. For more information about our Privacy Policy and our data protection efforts, please visit GDPR-HQ