我正在使用MonoMac为Mac开发一个非常简单的应用程序。我有一个由两个项目组成的解决方案:主项目和自动更新程序。主项目引用自动更新程序,以便自动更新程序成为主应用程序的应用程序包的一部分。
运行主应用程序时,如果有新更新,我想启动自动更新程序。在Windows上,这是一个简单的Process.Start("C:\path\to\updater.exe")
;然而,在Mac上,这似乎有问题。当以上述方式执行此操作时(使用updater.exe的绝对路径和相对路径时),没有任何反应,调试只是说当我尝试获取任何信息时,该过程已经结束。
我试图使用AppleScript启动更新程序:
do shell script "mono /path/to/bundle.app/Contents/MonoBundle/updater.exe"
但这会产生错误“应用程序包中没有Info.plist文件或Info.plist文件中没有NSPrincipalClass,退出”。当我尝试以相同的方式启动主可执行文件时出现同样的错误,我知道Info.plist已正确配置(因为我确实能够启动应用程序),所以必须有其他错误的东西
我做错了什么吗?我只是想从主可执行文件启动更新程序,我怎么做也没关系。