Announcement

Collapse
No announcement yet.

Win32 File Version Information

Collapse
This topic is closed.
X
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Win32 File Version Information

    With SF, does anyone know how to conditionally install a module based on its Win32 file version information?

    Problem:
    I have a number of 3rd party redistributable ActiveX controls that may need to be copied to the system and registered with regsvr32. Each ActiveX control installation should only take place if the control doesn't currently exist on the system or the system has an older version of the control. I don't want to accidentally downgrade the user's system.

    One possible Workaround:
    I could write my own .exe that does version checking on the ActiveX controls and writes neccessary information to the registry. SF could launch this .exe at the beggining of the install sequence and then conditionally install the ActiveX controls based on custom registry variables.

    If anyone knows a more convenient mechanism built into SF, I would appreciate the help.

  • #2
    Re: Win32 File Version Information

    Setup Factory actually does full version checking on all files that it installs. In the case of DLLs, EXEs and OCXs it checks the embedded version resources to determine the relative newness of a file. You can always set the overwrite options by going to the File Properties screen for a file and setting the "If a file already exists" option. If you set it to "Overwrite only if existing file is older" it will do just that and you will never risk overwriting a newer file with an older one.

    To tell Setup Factory to register an ActiveX control, just go to the File Properties screen and on the Advanced tab check the DLLRegisterServer option. This is the same as running Regsvr32.exe on the file. This way the file will ONLY be installed and registered is necessary.

    Comment


    • #3
      Re: Win32 File Version Information

      Excellent. This is exactly what I was looking for. I have found out that even though this information was not in the manual, it is in the online docs which is generally more extensive. Thanks again.

      Comment

      Working...
      X