Jump to content


This is a ready-only archive of the InstallSite Forum. You cannot post any new content here. / Dies ist ein Archiv des InstallSite Forums. Hier können keine neuen Beiträge veröffentlicht werden.
Photo

how do i make an entrty in the RemoveFile table


9 replies to this topic

samay

samay
  • Full Members
  • 11 posts

Posted 04 March 2009 - 07:39

Hi all,
I have an issue....I need to add entries into the RemoveFile table through my program...

I am new to installshield and am quite clueless....

please could someone help me out and tel me how i could access the RemoveFile table from my code???

Please give me a solution asap....I need guidence asap....

Thanks in advance!!!!

Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 12 March 2009 - 21:10

You mean you need to post-process the .msi file after you have built it with InstallShield? Why can't you add these entries in InstallShield's Direct Editor?

samay

samay
  • Full Members
  • 11 posts

Posted 23 March 2009 - 08:23

Hi Stefan,

Thanks a ton for your reply. I'm sorry I'm replying after a very long time.

I wont be able to adopt your solution. I'll explain the entire issue to you.

We have created an installation using Installshield 11 and it has been deployed in the client systems. So we cant make any changes in the installer, as at this point of time. We also cannot give the clients a new installer...

The issue is with the autoupdate functionality. During autoupdate, the old files are replaced with the updated ones and along with that some manifest files are also added.

When the client tries to uninstall the product, all files are deleted but the manifest files that were added are not deleted!!! We need to make some change in the code so that the manifest files are deleted during uninstallation via Add/Remove programs.

What ever changes we have to make is now limited to changes in the code!!!!

Please help and guide me on the above lines

THANKS IN ADVANCE!!!!



Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 27 March 2009 - 09:18

QUOTE
During autoupdate, the old files are replaced with the updated ones and along with that some manifest files are also added.
Are you saying that you are replacing (and adding) files without using Windows Installer for this purpose (i.e. no small or minor update, maybe packaged as a .msp patch)? Since you've installed the application with Windows Installer, its file are now managed and controlled by Windows Installer. Therefore you should use Windows Installer to update these files. This should avoid the problem you are seeing, because it's also updating the msi file.
I don't recommend trying to hack the msi file in Windows Installer's cache.

samay

samay
  • Full Members
  • 11 posts

Posted 31 March 2009 - 05:47

Hi Stefan,

Thanks for your speedy reply... I'll get back with a detailed description of the issue in a few days....

Edited by samay, 31 March 2009 - 07:31.


samay

samay
  • Full Members
  • 11 posts

Posted 01 April 2009 - 07:56

[QUOTE]During installation, a copy of the .MSI package may be copied to the user's temporary directory prior to installation, even if the same package is stored locally. InstallShield products sometimes create an additional copy of the MSI in the temporary directory if the install package is localized. In general, the author of the MSI package controls this to an extent.

Hi Stefan,

I read this in http://en.wikipedia....ndows_Installer

I wanted to know how Installshield handles this.... If I wanted to handle the above how do i do it in installshield 11...

Please advice ASAP

Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 03 April 2009 - 11:57

If your installation is packaged in a self extracting setup.exe this must be extracted somewhere - often to the temp folder. If you ship an .msi file without setup.exe this should not happen.

samay

samay
  • Full Members
  • 11 posts

Posted 06 April 2009 - 06:26

Hi,

Thank you for the reply!!!!

I also had another query....

Now as I previously asked you "During installation, a copy of the .MSI package may be copied to the user's temporary directory prior to installation, even if the same package is stored locally"

I wanted to know can I by any means control this copying of .MSI package???

My installation is packaged in a self extracting setup.exe...and hence as you said it is being extracted to the "%WinDir%\Installer" directory.

Also that the .MSI package is renamed by random string like "793712e.msi". I want to know if i could replace this MSI package with a new MSI but retain its old name i.e. "793712e.msi"...Also I want Windows installer to use this new MSI ( but having old name) for uninstalling and other functions...

I tried doing the above i.e replacing the .MSI package in the directory "%WinDir%\Installer" but retaining the old name but Windows installer gave error...it was able to detect it....Can you tel me why this happened???

Thanks in advance!!!





vPanchumarthi

vPanchumarthi
  • Full Members
  • 56 posts

Posted 06 April 2009 - 07:04

Hi,

First of all while installing any setup, a cached database will copied to %WINDOWS\INSTALLER% folder. This will be used for Repair/Uninstall of the application. As you have already installed ur appliction, a cahced d/b will be copied to installer folder(cached d/b will be named to something like 96896.msi.....)

As you are telling that ur latest msi package is having some updated functions, then go for an patch upgradation (Minor upgradation) of ur old MSI. This patch will update the cached d/b (in installer folder) with ur latest functionality.

If you try to delete the cached d/b, your application may not behave correctly. It will collapse....


Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 08 April 2009 - 09:56

Just to avoid any misunderstandings:
  • A self extracting setup.exe needs to extract the .msi file somewhere before it can launch the installation. Often the %TEMP% folder is used to this purpose, but you can control this (it's a setting for the creation of setup.exe).
  • Windows Installer copies (and renames) of the .msi file to its cache at Windows\Installer. This cache location is only controlled by Windows Installer itself and you should not try to manipulate it in any way.
If you need to update the .msi file in Windows Installer's cache (maybe to fix a problem that prevents your application from uninstalling properly) you should install the fixed version as a Small or Minor Update, which may be a full .msi file or a differential patch (.msp) - like vPanchumarthi already suggested.