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

Repairing causes components to be installed again


3 replies to this topic

darenko

darenko
  • Members
  • 14 posts

Posted 17 November 2004 - 20:02

I know there are numerous posts on the 1706 error, but I think this one is different. It seems that our program here is having issues with repairing. When you install our product and then repair it, if you disconnect from the network share, it asks for the cd image. All I am doing is repairing and nothing else. The log shows that it is trying to Overwrite the file it just installed. It shouldn't need to do this. Some of the other files it does not complain about. ResolveSource is not running ( I checked in the log ).

MSI (s) (C0:78): Executing op: FileCopy(SourceName=keymap.dlr,SourceCabKey=keymap.dlr,DestName=keymap.dlr,Attributes=8192,FileSize=100352,PerTick=32768,,VerifyMedia=1,,,,,CheckCRC=0,Version=7.50.4021.0,Language=1033,InstallMode=58982400,,,,,,)
MSI (s) (C0:78): File: C:\Program Files\test\keymap.dlr; Overwrite; No patch; New file supports language(s) the existing file doesn't support MSI (s) (C0:78): Resolving source.MSI (s) (C0:78): User policy value 'SearchOrder' is 'nmu'
MSI (s) (C0:78): User policy value 'DisableMedia' is 0
MSI (s) (C0:78): Machine policy value 'AllowLockdownMedia' is 0
MSI (s) (C0:78): SOURCEMGMT: Media enabled only if package is safe.
MSI (s) (C0:78): SOURCEMGMT: Looking for sourcelist for product {416BFDD6-43E6-4686-B610-D2E138D3D509}
MSI (s) (C0:78): SOURCEMGMT: Adding {416BFDD6-43E6-4686-B610-D2E138D3D509}; to potential sourcelist list (pcode;disk;relpath).
MSI (s) (C0:78): SOURCEMGMT: Now checking product {416BFDD6-43E6-4686-B610-D2E138D3D509}
MSI (s) (C0:78): SOURCEMGMT: Media is enabled for product.
MSI (s) (C0:78): SOURCEMGMT: Attempting to use LastUsedSource from source list.
MSI (s) (C0:78): SOURCEMGMT: Trying source C:\MEDIA\Product Configuration 1\Release 1\DiskImages\DISK1\.
MSI (s) (C0:78): Note: 1: 2203 2: C:\MEDIA\Product Configuration 1\Release 1\DiskImages\DISK1\Default.msi 3: -2147287037
MSI (s) (C0:78): SOURCEMGMT: Source is invalid due to missing/inaccessible package.
MSI (s) (C0:78): Note: 1: 1706 2: -2147483647 3: Default.msi
MSI (s) (C0:78): SOURCEMGMT: Processing net source list.
MSI (s) (C0:78): Note: 1: 1706 2: -2147483647 3: Default.msi
MSI (s) (C0:78): SOURCEMGMT: Processing media source list.
MSI (s) (C0:78): Note: 1: 2203 2: 3: -2147287037
MSI (s) (C0:78): SOURCEMGMT: Source is invalid due to missing/inaccessible package.
MSI (s) (C0:78): Note: 1: 1706 2: -2147483647 3: Default.msi
MSI (s) (C0:78): SOURCEMGMT: Processing URL source list.
MSI (s) (C0:78): Note: 1: 1402 2: UNKNOWN\URL 3: 2
MSI (s) (C0:78): Note: 1: 1706 2: -2147483647 3: Default.msi
MSI (s) (C0:78): Note: 1: 1706 2: 3: Default.msi
MSI (s) (C0:78): SOURCEMGMT: Failed to resolve source

Notice the text "New file supports language(s) the existing file doesn't support MSI (s) (C0:78): Resolving source". Not sure why it is doing this when the component is already installed. The File table has everything filled out. Language is neutral. Version is in there. Attributes are set.

Also, when I use a different version of that file in a different release, it does not happen.

My question is does the installer care about the properties of the file? It seems that the version that does work has more info on the .dlr when you do a properties on the file ( like Language info, original file name, etc ). Some does exists.

Any help would be appreciated.

thanks,

-daren
[b]darenko[b][br][i]darenko[i][br][b]installer[b][br]

Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 18 November 2004 - 08:53

Looks like in the MSI the language of the file is set to 1033. You say the language is neutral. So it looks like the information in your MSI doesn't match the actual file.

darenko

darenko
  • Members
  • 14 posts

Posted 18 November 2004 - 16:28

Well, here is what I have found out. It seems that some of our .dll's, .exe's and .dlr's don't have the language information that is needed when the MSI is built. What I mean by that is when you do a properties on the file and go to the version tab, usually files will have the language portion under there. It seems that if a file is set to Language Neutral ( which puts a 0 in the File table language column ) or Some specific languages ( which puts in the proper language number in the language column ), you are okay. But when a file does not have this information like some of our files, when building the MSI, it puts a 0 in the language column, but when it has to repair the product, it says that the file on the machine supports more languages that what was installed and so it tries to repair.

The only other way around this problem is to rebuild all these modules that don't contain the language info and build a patch. NOT a time worty idea for end of year business. So, I played around with the table and found that if you put the language value to blank, it seems to work fine ( usually .hlp, .cnt or other extensions besides main .dll, .exe, .dlr, etc ) have blank values. Since this is an English only product, am I screwing myself by patching my product with blanks in the langauge column on files that the MSI complains about?

Stefan?

thanks in advance.
[b]darenko[b][br][i]darenko[i][br][b]installer[b][br]

Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 19 November 2004 - 09:36

If the files don't have language information, then the language column in the MSI should be blank. InstallShield shouldn't put 0 in there. As far as I know leaving the language filed balnk for versioned files was not allowed in MSI 1 so maybe that's the reason why InstallShield inserts 0 here. Which InstallShield version are you using?
Anyway, blanking the language field for those files seems the right thing to do.