return false;
}
- string conf_name = name + ".config";
+ string [] siblings = { ".config", ".mdb" };
string version_token = an.Version + "_" +
an.CultureInfo.Name.ToLower (CultureInfo.InvariantCulture) + "_" +
GetStringToken (pub_tok);
}
File.Copy (name, asmb_path, true);
- if (File.Exists (conf_name))
- File.Copy (conf_name, asmb_path + ".config", true);
+
+ foreach (string ext in siblings) {
+ string sibling = String.Concat (name, ext);
+ if (File.Exists (sibling))
+ File.Copy (sibling, String.Concat (asmb_path, ext), true);
+ }
if (package != null) {
string link_path = Path.Combine (Path.Combine (link_gacdir, an.Name), version_token);
WriteLine ("ERROR: Could not create package dir file.");
Environment.Exit (1);
}
- Symlink (Path.Combine (link_path, asmb_file), ref_path);
+ Symlink (name, Path.Combine (link_path, asmb_file), ref_path);
WriteLine ("Package exported to: " + ref_path + " -> " +
Path.Combine (link_path, asmb_file));
return c;
}
- private static void Symlink (string oldpath, string newpath) {
+ // name = name of dll being installed
+ // oldpath = path the symlink points to -- cannot be assumed to be a valid file
+ // newpath = name of symlink
+ private static void Symlink (string name, string oldpath, string newpath) {
if (Path.DirectorySeparatorChar == '/') {
symlink (oldpath, newpath);
} else {
- File.Copy (oldpath, newpath);
+ File.Copy (name, newpath);
}
}
WriteLine ("-gacdir <GACDIR>");
WriteLine ("\tUsed to specify the GACs base directory. Once an assembly has been installed\n" +
- "\tto a non standard gacdir the MONO_GAC_PATH environment variable must be used\n" +
+ "\tto a non standard gacdir the MONO_GAC_PREFIX environment variable must be used\n" +
"\tto access the assembly.");
WriteLine ();