[Mono-bugs] [Bug 62859][Cri] Changed - Hardcoded paths in Windows gtk# installer

bugzilla-daemon@bugzilla.ximian.com bugzilla-daemon@bugzilla.ximian.com
Mon, 20 Sep 2004 16:07:41 -0400 (EDT)


Please do not reply to this email- if you want to comment on the bug, go to the
URL shown below and enter your comments there.

Changed by martinf@mfconsulting.com.

http://bugzilla.ximian.com/show_bug.cgi?id=62859

--- shadow/62859	2004-09-20 15:54:56.000000000 -0400
+++ shadow/62859.tmp.20349	2004-09-20 16:07:41.000000000 -0400
@@ -40,6 +40,52 @@
 moving this bug
 
 ------- Additional Comments From martinf@mfconsulting.com  2004-09-20 15:54 -------
 Created an attachment (id=10924)
 package that contains the batch files and shell scripts with the correct path
 
+
+------- Additional Comments From martinf@mfconsulting.com  2004-09-20 16:07 -------
+Indeed there are hard coded path in the contents of every batch file
+and shell script file in the source directory that will end up in
+{app}\bin.
+
+This is by design.  In the final phases of the installation routine,
+the  installer will go through a list of files and will replace all
+coccurances of C:\mono\Mono-1.0 for what ever would be the appropriate
+base path that was selected as the destination directory by the user.
+ Conversly all references of C:/mono/Mono-1.0 are also changed.  This
+is done in pkg-config files *.pc and through out selected files in
+/etc and elsewhere.
+
+Although the function is much larger I will try to paste a section to
+ilustrate what I mean (this is Pascal Script):
+
+Procedure WriteRootPath(const cstrBasePath, cstrBasePathForwardSlash:
+String);
+var strFilePath, strPortXSP: String;
+begin
+  // Shell Scripts
+	strFilePath := RemoveBackslash(cstrBasePath) + '\bin\cert2spc.'
+	ReplaceRootPath(strFilePath, 'C:\mono\Mono-1.0', 'C:/mono/Mono-1.0',
+cstrBasePath, cstrBasePathForwardSlash);
+	// etc files
+	strFilePath := RemoveBackslash(cstrBasePath) +
+'\etc\gtk-2.0\gdk-pixbuf.loaders.'
+	ReplaceRootPath(strFilePath, 'C:\mono\Mono-1.0', 'C:/mono/Mono-1.0',
+cstrBasePath, cstrBasePathForwardSlash);
+    // Pkg-config files
+	strFilePath := RemoveBackslash(cstrBasePath) + '\lib\pkgconfig\atk.pc';
+	ReplaceRootPath(strFilePath, 'C:\mono\Mono-1.0', 'C:/mono/Mono-1.0',
+cstrBasePath, cstrBasePathForwardSlash);
+	// Batch Files
+	strFilePath := RemoveBackslash(cstrBasePath) + '\bin\cert2spc.bat'
+	ReplaceRootPathForBat(strFilePath, 'C:\mono\Mono-1.0', cstrBasePath);
+    // Set the Port for XSP
+    strPortXSP := PortForXSP.Values[0];
+	ReplaceRootPathForBat(strFilePath, '8089', strPortXSP);
+	strFilePath := RemoveBackslash(cstrBasePath) + '\bin\wsdl.bat'
+	ReplaceRootPathForBat(strFilePath, 'C:\mono\Mono-1.0', cstrBasePath);
+	strFilePath := RemoveBackslash(cstrBasePath) + '\bin\xsd.bat'
+	ReplaceRootPathForBat(strFilePath, 'C:\mono\Mono-1.0', cstrBasePath);
+end;
+