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

Source Location Problem


3 replies to this topic

Dave I

Dave I
  • Members
  • 195 posts

Posted 22 August 2001 - 15:23

Why does the component "Source Location" property only accepts paths one level deep.

Say I have two files with the same name and I want to put them in separate source folders so that the files dont overwrite each other.  I enter in the Source Location property

Component               File               SourceLocation
Win9xFile.dll            File.dll                       FileOne
Win200File.dll         File.dll                       FileTwo

This works OK.  Now if Itidy the source files up by putting a sub directory in e.g. Files\FileOne, Files\FileTwo then they will literraly be installed in the directory Files.

Whats it all about???

Thanks,
Dave


Ian Blake

Ian Blake
  • Members
  • 483 posts

Posted 22 August 2001 - 17:19

Basically because InstallShield is trying to keep things simple.

Take look at what is happening.

In the first case

The directory table (look at it in Orca) is created
something like

Directory:   DIR35  
Directory_Parent:   INSTALLDIR
DefaultDir:  .:FileOne

Directory: DIR36
Directory_Parent:   INSTALLDIR
DefaultDir:   .:FileTwo

The Component table contains amopng other fields
Component:   Win9xFile.dll
Directory_:   DIR35

Component:  Win2000File.dll
Directory_:   DIR36

The default dir field of the directory table can contain two parts seperated by colon.  The first is the target directory name and the second is the source directory name. If the directory is specifed by a '.' (full stop) this indicates that this directory is a synonym of the parent directory.

In your second case I suspect that InstallShield is generating a directory table something like

Directory:  DIR35
Directory_Parent:   INSTALLDIR
DefaultDir:   Files

Directory:   DIR36  
Directory_Parent:   DIR35
DefaultDir:  .:FileOne

Directory: DIR37
Directory_Parent:   DIR35
DefaultDir:   .:FileTwo

You require the DefaultDir of files to be ".:Files".  

You have found a bug.

Hope this helps you understand what is going on.


Dave I

Dave I
  • Members
  • 195 posts

Posted 23 August 2001 - 08:39

Thanks for that Ian I had forgot about the directory table.  So all that an entry in the SourceLocation field does is create a DIR0... entry in the directory table.... incorrectly for that matter.

I was just looking at Q104502- "Files With the Same Name and Destination But Different Components Are Not Getting Built" which basically describes what I m trying to do, interestingly enough there is no mention of the Source Location field, I thought this was the point of this field to to create a source structure that would allow multiple files to have the same name?

Anyway, I have bigger problems now.  It appears the my INSTALLDIR property has gone mental.  Having played about with the Source Location on components only to have it duplicate the source layout on my destination I uninstalled then deleted the project.

I got a recent version from Sourcesafe which I built perfectly yesterday now when I build the project the INSTALLDIR is pointing too an old component directory.  C:\InstallFiles\.......

In ISWI terms the INSTALLDIR is obtained from project properties, but this value is being retained on my system as a whole an I am unable to build my project.

Any Ideas???

Thanks again,
Dave