Cocoa - 如何将文件复制到/usr/share?

发布于 2024-08-27 07:32:24 字数 467 浏览 8 评论 0原文

我正在开发一个像 cocoa 应用程序一样的“安装”,它需要处理一些 http 请求、一些文件系统读取、将文件复制到 /usr/share、设置 cron (不是 launchd)并向用户询问一些信息。 我放弃了 PackageMaker,因为我需要更多的灵活性。

目前一切进展顺利,但在最后一个安装步骤中,我需要:

  • 删除以前安装的应用程序文件夹(如果存在)。它始终是相同的路径: /usr/share/MY_APP
  • 再次创建应用程序文件夹: /usr/share/MY_APP
  • 将应用程序文件复制到 /usr/share/MY_APP
  • 更新 cron 作业

/usr/share/MY_APP 保留非常重要受管理权限保护,因此常规用户不应删除它。

实施这些步骤的最佳方法是什么?

顺便说一句,我正在使用 Xcode 3.2。

多谢! 卡洛斯.

I'm developing an "installation" like cocoa application wich needs to take care of some http request, some file system reading, copying files to /usr/share, set up cron (not launchd) and ask some information to user.
I discarded PackageMaker since I need more flexibility.

Currently everything is going well, but on my last installation step, I need to:

  • Delete my previously installed application folder (if exists). It's always the same path: /usr/share/MY_APP
  • Create again the application folder at: /usr/share/MY_APP
  • Copy application files to /usr/share/MY_APP
  • Update a cron job

It's very important that /usr/share/MY_APP keeps protected with administrative privileges, so a regular shouldn't delete it.

What would be the best approach to implement those steps?

BTW, I'm using Xcode 3.2.

Thanks a lot!
Carlos.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

悍妇囚夫 2024-09-03 07:32:24

在 preflight 脚本、postflight 脚本以及可能是自定义 UI 的安装程序插件之间,我认为您没有理由不能在 PackageMaker 中完成所有这些操作。

注意:“安装程序插件”有点误导。用户不必必须在某个地方安装该插件作为单独的步骤;您将该插件包含在您的包中,安装程序将从那里使用它。

相关文档是示例代码项目中的自述文件 。从 2.0 开始,Xcode 中还有一个 Installer 插件项目模板。

此外,如果用户进行命令行安装,则不会使用安装程序插件< /a>.当然,如果您编写自己的自定义安装程序,它们根本无法从命令行安装(包括远程安装到充满计算机的办公室或实验室)。

顺便问一下:为什么是 /usr/share?你放在那里什么?可能有更好的方法来完成您真正想要完成的任务。

Between the preflight script, the postflight script, and perhaps an Installer plug-in for the custom UI, I see no reason why you can't do all of this in PackageMaker.

Note: “Installer plug-in” is a little misleading. The user does not have to install the plug-in somewhere as a separate step; you include the plug-in inside your package, and Installer will use it from there.

The relevant document is a ReadMe file in a sample code project. There's also an Installer plug-in project template in Xcode since 2.0.

Also, an Installer plug-in won't get used if the user does a command-line installation. Of course, they can't install from the command line at all (which includes remote installation onto an office or lab full of machines) if you write your own custom installer.

By the way: Why /usr/share? What are you putting there? There may be a better way to do what you're really trying to accomplish.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文