0
我正在客户端工作。我们有一个守护进程运行,它检查服务器上的新版本可用性,并在它可用时下载新的.dmg文件。如何升级Mac OSX应用程序
现在我想静默升级现有应用程序,而不显示安装窗口。
我想知道什么是自动升级任何mac osx应用程序的方法。
我正在客户端工作。我们有一个守护进程运行,它检查服务器上的新版本可用性,并在它可用时下载新的.dmg文件。如何升级Mac OSX应用程序
现在我想静默升级现有应用程序,而不显示安装窗口。
我想知道什么是自动升级任何mac osx应用程序的方法。
耀做几件事情内部
我对第二部分更感兴趣,所以就是这样。
NSString *installerPath = [[NSWorkspace sharedWorkspace] absolutePathForAppBundleWithIdentifier:@"com.apple.installer"];
installerPath = [installerPath stringByAppendingString:@"/Contents/MacOS/Installer"];
if (![[NSFileManager defaultManager] fileExistsAtPath:installerPath])
{
error = [NSError errorWithDomain:SUSparkleErrorDomain code:SUMissingInstallerToolError userInfo:[NSDictionary dictionaryWithObject:@"Couldn't find Apple's installer tool!" forKey:NSLocalizedDescriptionKey]];
result = NO;
}
NSTask *installer = [NSTask launchedTaskWithLaunchPath:installerPath arguments:[NSArray arrayWithObjects:path, nil]];
[installer waitUntilExit];
现在在这里你可以看到它找到Installer.app并将pkg作为命令行参数传递给它。
安装程序应用程序负责升级应用程序。
有默默的做用终端命令行执行/usr/sbin/installer
的另一种方式 - 更多信息,关于维基 - Installer(Mac OS X)
如果你不想启动安装程序GUI,那么你可以使用上面的命令,并给PKG文件路径和卷信息进行安装。
这里是样品。
installer -pkg InstallMe.pkg -target CurrentUserHomeDirectory
installer -pkg InstallMe.pkg -target '/Volumes/Macintosh HD2' -lang ja
installer -volinfo -pkg InstallMe.pkg
installer -pkginfo -pkg InstallMe.pkg
installer -query RestartAction -pkg InstallMe.pkg
installer -pkg InstallMe.pkg -target/-showChoices
也许一个愚蠢的问题,但没有任何特殊原因不使用默认具有此功能的商店? –
我正在研究AppStore中不可用的企业应用程序。该应用程序将由管理员安装在客户机上。现在,每当有新版本可用时,我们都希望自动升级客户端应用程序。 – Omkar
你见过[Sparkle](http://sparkle.andymatuschak.org)吗?它可能会做你需要的。 – Volker