[Mono-osx] Macpack problem - or is it me?

Susan Mackay susanmackay at optusnet.com.au
Wed Aug 30 23:08:20 EDT 2006


I have created a .exe file within a subdirectory of my working directory,
and I'm trying to use macpack to create a .app bundle for it. However it
appears to me that macpack is getting confused when it comes to directory
path specifications.

If my current directory contains two files: Source.cs and Untitled.exe
(which is derived from Source.cs) then macpack (almost) works correctly:

Titania:~/Scratch susan$ ls
Source.cs       untitled.exe
Titania:~/Scratch susan$ macpack -mode:winforms -output:. -name:Trial
-a:untitled.exe
Titania:~/Scratch susan$ ls
Source.cs       untitled.app    untitled.exe
Titania:~/Scratch susan$


(Note: although I used the -name: option, the resultant .app bundle is not
given the correct name - that's what I meant by 'almost'!)

However, if the .exe is in a subdirectory and I reference the assembly from
there (everything else still the same) then:


Titania:~/Scratch susan$ ls
Exes            Source.cs
Titania:~/Scratch susan$ ls exes
untitled.exe
Titania:~/Scratch susan$ macpack -mode:winforms -output:. -name:Trial
-a:./Exes/untitled.exe

Unhandled Exception: System.IO.DirectoryNotFoundException: Destination
directory not found: ./Exes/untitled.app/Contents/Resources/Exes
  at System.IO.File.Copy (System.String src, System.String dest, Boolean
overwrite) [0x00000]
  at System.IO.File.Copy (System.String sourceFilename, System.String
destFilename) [0x00000]
  at Mac.Pack.Generate () [0x00000]
  at Mac.Pack.Main (System.String[] args) [0x00000]
Titania:~/Scratch susan$ ls
Exes            Source.cs
Titania:~/Scratch susan$ ls Exes
untitled.app    untitled.exe
Titania:~/Scratch susan$


Looking at the error message, it seems to be trying to include some of the
assembly path into the path name within the application bundle.

However, the output option appears to be honoured:


Titania:~/Scratch susan$ mkdir Apps
Titania:~/Scratch susan$ ls
Apps            Source.cs       untitled.exe
Titania:~/Scratch susan$ macpack -mode:winforms -output:./Apps -name:Trial
-a:untitled.exe
Titania:~/Scratch susan$ ls
Apps            Source.cs       untitled.exe
Titania:~/Scratch susan$ ls Apps
untitled.app
Titania:~/Scratch susan$



Is this a problem with macpack or have I misunderstood what should be
happening here? My expectation is that I should be able to refer to ANY
assembly that is located anywhere and have macpack only use its filename
(and .exe) within the bundle it is creating.

Thanks

Susan




More information about the Mono-osx mailing list