[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;
+