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

Error 1312 when applying patch


1 reply to this topic

wernerf

wernerf
  • Members
  • 22 posts

Posted 18 February 2004 - 17:01


Using IDV 7.04, Win XP

I'm still fighting on a small project, where I try to test a "small upgrade" (same product GUID, product version incremented). I'm rather sure to have obeyed all rules for successfully creating patches, but here's what happening, when the resulting Update.exe is run (the Patch Creation Package file was named "Patch110.pcp"):

Version 1.00.0000 of the app installs ok; but when applying "Update.exe" to make it version 1.10.0000, I receive an internal error 1312:

1: 1312 2: C:\DOKUME~1\FANGME~1\LOKALE~1\Temp\_is562\Patch110.msp
Fehler 1312. Ordner "C:\DOKUME~1\FANGME~1\LOKALE~1\Temp\_is562\Patch110.msp" kann nicht erstellt werden. Eine Datei mit diesem Namen existiert bereits. Bitte benennen Sie die Datei um oder entfernen Sie die Datei, und klicken Sie dann auf "Wiederholen". Oder klicken Sie auf "Abbrechen", um das Programm zu beenden.

(Translation: Error 1312. Folder "..." cannot be created, since a file with this name already exists. Rename or remove the file and click "Retry" or click cancel to abort")

Here's some more of the verbose log around the error; it's about a text file which is be added by the path: "Patch_1.txt". The log says "To be installed; No patch; No existing file", and that's correct.

<Start of log excerpt>
...
MSI (s) (DC:34): Executing op: SetTargetFolder(Folder=C:\Programme\ESN GmbH\StdTestPrj1\bin\)
MSI (s) (DC:34): Executing op: SetSourceFolder(Folder=1\PROGRA~1\ESNGMB~1\STDTES~1\bin\|program files\ESN GmbH\StdTestPrj1\bin\)
MSI (s) (DC:34): Executing op: ChangeMedia(,MediaPrompt=Bitte legen Sie den Datenträger ein: ,MediaCabinet=PCW_CAB_Family00,BytesPerTick=32768,CopierType=2,ModuleFileName=C:\DOKUME~1\FANGME~1\LOKALE~1\Temp\_is562\Patch110.msp,,,,,IsFirstPhysicalMedia=0)
MSI (s) (DC:34): Executing op: FileCopy(SourceName=notepad.exe,SourceCabKey=notepad.exe,DestName=notepad.exe,Attributes=4096,FileSize=46352,PerTick=32768,,VerifyMedia=1,,,,,CheckCRC=0,Version=4.1.1372.1,Language=1031,InstallMode=58982400,,,,,,)
MSI (s) (DC:34): File: C:\Programme\ESN GmbH\StdTestPrj1\bin\notepad.exe; Overwrite; No patch; Existing file is a lower version
MSI (s) (DC:34): Source for file 'notepad.exe' is compressed
InstallFiles: File: notepad.exe, Directory: C:\Programme\ESN GmbH\StdTestPrj1\bin\, Size: 46352
MSI (s) (DC:34): Re-applying security from existing file.
MSI (s) (DC:34): Verifying accessibility of file: notepad.exe
MSI (s) (DC:34): SOFTWARE RESTRICTION POLICY: Verifying object --> 'C:\DOKUME~1\FANGME~1\LOKALE~1\Temp\_is562\Patch110.msp' against software restriction policy
MSI (s) (DC:34): Note: 1: 2262 2: DigitalSignature 3: -2147287038
MSI (s) (DC:34): SOFTWARE RESTRICTION POLICY: C:\DOKUME~1\FANGME~1\LOKALE~1\Temp\_is562\Patch110.msp is not digitally signed
MSI (s) (DC:34): SOFTWARE RESTRICTION POLICY: C:\DOKUME~1\FANGME~1\LOKALE~1\Temp\_is562\Patch110.msp is permitted to run at the 'unrestricted' authorization level.
MSI (s) (DC:34): Note: 1: 2318 2: C:\Programme\ESN GmbH\StdTestPrj1\bin\notepad.exe
MSI (s) (DC:34): Note: 1: 2360
MSI (s) (DC:34): Executing op: SetTargetFolder(Folder=C:\DOKUME~1\FANGME~1\LOKALE~1\Temp\_is562\Patch110.msp\)
MSI (s) (DC:34): Executing op: SetSourceFolder(Folder=1\PROGRA~1\ESNGMB~1\STDTES~1\patch\|program files\ESN GmbH\StdTestPrj1\patch\)
MSI (s) (DC:34): Executing op: FileCopy(SourceName=Patch_1.txt,SourceCabKey=Patch_1.txt,DestName=Patch_1.txt,Attributes=4096,FileSize=27,PerTick=32768,,VerifyMedia=1,,,,,CheckCRC=0,,,InstallMode=58982400,HashOptions=0,HashPart1=156467495,HashPart2=-116141
2374,HashPart3=-1691012192,HashPart4=-137314480,)
MSI (s) (DC:34): File: C:\DOKUME~1\FANGME~1\LOKALE~1\Temp\_is562\Patch110.msp\Patch_1.txt; To be installed; No patch; No existing file
MSI (s) (DC:34): Source for file 'Patch_1.txt' is compressed
InstallFiles: File: Patch_1.txt, Directory: C:\DOKUME~1\FANGME~1\LOKALE~1\Temp\_is562\Patch110.msp\, Size: 27
MSI (s) (DC:34): Note: 1: 1312 2: C:\DOKUME~1\FANGME~1\LOKALE~1\Temp\_is562\Patch110.msp
Fehler 1312. Ordner "C:\DOKUME~1\FANGME~1\LOKALE~1\Temp\_is562\Patch110.msp" kann nicht erstellt werden. Eine Datei mit diesem Namen existiert bereits. Bitte benennen Sie die Datei um oder entfernen Sie die Datei, und klicken Sie dann auf "Wiederholen". Oder klicken Sie auf "Abbrechen", um das Programm zu beenden.
Sind Sie sicher, dass Sie abbrechen möchten?
Aktion beendet um 15:52:39: InstallFinalize. Rückgabewert 2.
MSI (s) (DC:34): User policy value 'DisableRollback' is 0
...
<End of log excerpt>

But why does the installer then try to create a directory with the path "C:\DOKUME~1\FANGME~1\LOKALE~1\Temp\_is562\Patch110.msp\" ? Ok, "C:\DOKUME~1\FANGME~1\LOKALE~1\Temp" is my TEMP directory, "_is562" seems to be the temporary support folder created for the install and "Patch110.msp" is the name of the patch module embedded in the Update.exe created by Patch Wizard, but why does it try to create a FOLDER with the same name?
And some lines above it says "SOFTWARE RESTRICTION POLICY: Verifying object --> 'C:\DOKUME~1\FANGME~1\LOKALE~1\Temp\_is562\Patch110.msp' against software restriction policy
MSI (s) (DC:34): Note: 1: 2262 2: DigitalSignature 3: -2147287038
MSI (s) (DC:34): SOFTWARE RESTRICTION POLICY: C:\DOKUME~1\FANGME~1\LOKALE~1\Temp\_is562\Patch110.msp is not digitally signed
MSI (s) (DC:34): SOFTWARE RESTRICTION POLICY: C:\DOKUME~1\FANGME~1\LOKALE~1\Temp\_is562\Patch110.msp is permitted to run at the 'unrestricted' authorization level." Here, "C:\DOKUME~1\FANGME~1\LOKALE~1\Temp\_is562\Patch110.msp" seems to stand for a FILE (the patch package), and not for a folder.

I also found the following at the top of the log file:

<Start of log excerpt>
=== Verbose logging started: 18.02.2004 15:52:26 Build type: SHIP UNICODE 2.00.2600.1106 Calling process: C:\PROGRA~1\GEMEIN~1\INSTAL~1\Driver\7\INTEL3~1\IDriver.exe ===
=== Protokollierung gestartet: 18.02.2004 15:52:26 ===
1: 7.07.262.0
1: InstallShield Install driver started, version:7.07.262.0
1: Package Path: {5B02040B-A7E0-11D7-AB15-00E07DA21B82}
1: Command Line: /verbose"C:\Dokumente und Einstellungen\Fangmeier\Eigene Dateien\MySetups\StdTestPrj1_v11\Patch\Patch110_Apply.log" /v"REINSTALLMODE=omus ADDLOCAL=PatchFiles REINSTALL=ExecutableFiles,HTMLDoc,HelpFiles" /v"SETUPEXEDIR=\"C:\DOKUMENTE UND EINSTELLUNGEN\FANGMEIER\EIGENE DATEIEN\MYSETUPS\STDTESTPRJ1_V11\PATCH\"" /v"/p\"C:\DOKUME~1\FANGME~1\LOKALE~1\Temp\_is562\Patch110.msp\" REINSTALLMODE=omus ADDLOCAL=PatchFiles REINSTALL=ExecutableFiles,HTMLDoc,HelpFiles SETUPEXEDIR=\"C:\DOKUMENTE UND EINSTELLUNGEN\FANGMEIER\EIGENE DATEIEN\MYSETUPS\STDTESTPRJ1_V11\PATCH\""
1: Extract supporting files
1: InstallShield Support files extracted.
...
<End of log excerpt>

Can anyone explain, what's wrong here?

TIA


wernerf

wernerf
  • Members
  • 22 posts

Posted 19 February 2004 - 17:04

Just did some more research on the problem, and I found the following: As long as I modify or add files in existing subdirectories of INSTALLDIR, the update succeeds. I added one new feature with one new component to the install project for version 1.01, and as a first step specified [INSTALLDIR] as the targe folder for the new component. Tha worked OK, the new files were installed to INSTALLDIR with no errors. Then, I uninstalled the app, reinstalled version 1.00 and modified the target folder of the new component in the 1.01 project to be a new subdirectory of [INSTALLDIR], namely [INSTALLDIR]\patch, recreated the patch and executed the resulting Update.exe: Error 1312 ph34r.gif

For heavens sake, what is going on here? Is seems even to be impossible to make even a toy example to demonstrate patching?
I did not add or move components within existing features, I just added one new feature on level 0 of the feature tree, with one new component with a new target folder. As soon as the installer comes to the first file of this component, error 1312 is raised:

MSI (s) (DC:E0): Executing op: SetTargetFolder(Folder=C:\DOKUME~1\FANGME~1\LOKALE~1\Temp\_is34E3\p101.msp\)
MSI (s) (DC:E0): Executing op: SetSourceFolder(Folder=1\PROGRA~1\ESNGMB~1\STDTES~1\patch\|program files\ESN GmbH\StdTestPrj1\patch\)
MSI (s) (DC:E0): Executing op: ChangeMedia(,MediaPrompt=Bitte legen Sie den Datenträger ein: ,MediaCabinet=PCW_CAB_Family00,BytesPerTick=32768,CopierType=2,ModuleFileName=C:\DOKUME~1\FANGME~1\LOKALE~1\Temp\_is34E3\p101.msp,,,,,IsFirstPhysicalMedia=0)
MSI (s) (DC:E0): Executing op: FileCopy(SourceName=Patch_1.txt,SourceCabKey=Patch_1.txt,DestName=Patch_1.txt,Attributes=4096,FileSize=27,PerTick=32768,,VerifyMedia=1,,,,,CheckCRC=0,,,InstallMode=58982400,HashOptions=0,HashPart1=156467495,HashPart2=-116141
2374,HashPart3=-1691012192,HashPart4=-137314480,)
MSI (s) (DC:E0): File: C:\DOKUME~1\FANGME~1\LOKALE~1\Temp\_is34E3\p101.msp\Patch_1.txt; To be installed; No patch; No existing file
MSI (s) (DC:E0): Source for file 'Patch_1.txt' is compressed
InstallFiles: File: Patch_1.txt, Directory: C:\DOKUME~1\FANGME~1\LOKALE~1\Temp\_is34E3\p101.msp\, Size: 27
MSI (s) (DC:E0): Note: 1: 1312 2: C:\DOKUME~1\FANGME~1\LOKALE~1\Temp\_is34E3\p101.msp
Error 1312. Unable to create folder "C:\DOKUME~1\FANGME~1\LOKALE~1\Temp\_is34E3\p101.msp"... blah blah blah

When the error popped up, I used explorer to inspect the temporay folder C:\DOKUME~1\FANGME~1\LOKALE~1\Temp\_is34E3\, and the message is correct: there alreay is a file named "p101.msp" in the folder, and it's the patch package temporarily extracted from Update.exe; it's clear that you can't create a subfolder with the same name in this folder, but why does Installer try to?

It should be easy to reconstruct the problem; even a one-file-project should do it, as long as the patch tries to add another file to a new subfolder of the target directory.

Desperately, TIA.