#include "InstallerUtil.h"
-#define OSP_INSTALLER_VERSION "version=[20130417.1]"
+#define OSP_INSTALLER_VERSION "version=[20130417.2]"
#define DIR_BIN L"/bin"
#define DIR_INFO L"/info"
INSTALLER_ERROR_CERTIFICATE_CHAIN_VERIFICATION_FAILED = 33,
INSTALLER_ERROR_CERTIFICATE_EXPIRED = 34,
INSTALLER_ERROR_PRIVILEGE_INVALID = 41,
- INSTALLER_ERROR_PRIVILEGE_LEVEL_INVALID = 42,
INSTALLER_ERROR_MENU_ICON_NOT_FOUND = 51,
INSTALLER_ERROR_FATAL_ERROR = 61,
INSTALLER_ERROR_OUT_OF_STORAGE = 62,
Tizen::Base::String __url;
Tizen::Base::String __description;
Tizen::App::AppId __storeClientId;
+ Tizen::Base::String __additionalErrorString;
int __certType;
void* __pPkgmgrInstaller;
}
else
{
- char errorMsg[11] = {0};
- snprintf(errorMsg, sizeof(errorMsg) - 1, "%d", error);
- SendEvent(__pContext, __pContext->__packageId, "error", errorMsg);
+ String errorString;
+ errorString.Insert(error, 0);
+
+ if (__pContext->__additionalErrorString.IsEmpty() == false)
+ {
+ errorString += L":";
+ errorString += __pContext->__additionalErrorString;
+ }
+ SendEvent(__pContext, __pContext->__packageId, "error", errorString);
SendEvent(__pContext, __pContext->__packageId, "end", "fail");
}
TryReturn(pVal, false, "pVal is null.");
pkgmgr_installer_send_signal((pkgmgr_installer*) pContext->__pPkgmgrInstaller, "tpk", pPackageId.get(), pKey.get(), pVal.get());
- AppLog("pkgmgr_installer_send_signal(tpk, %s, %s, %s)", pPackageId.get(), pKey.get(), pVal.get());
+ AppLog("\n >> pkgmgr_installer_send_signal(tpk, %s, %s, %s)", pPackageId.get(), pKey.get(), pVal.get());
return true;
}
if (pPrivilegeList != null)
{
r = PrivilegeHandler::GenerateCipherPrivilege(packageId, *pPrivilegeList, apiVisibility, privileges, hmacPrivileges, stringPrivilegeList);
- TryCatch(r != E_ILLEGAL_ACCESS, error = INSTALLER_ERROR_PRIVILEGE_LEVEL_INVALID, "privMgr.GeneratePrivilegeString() failed. [PRIVILEGE_LEVEL_VIOLATION]");
+ // TryCatch(r != E_ILLEGAL_ACCESS, error = INSTALLER_ERROR_PRIVILEGE_LEVEL_INVALID, "privMgr.GeneratePrivilegeString() failed. [PRIVILEGE_LEVEL_VIOLATION]");
+ if (r == E_ILLEGAL_ACCESS)
+ {
+ __pContext->__additionalErrorString = L"Thrown when unauthorized privileges are detected. [partner] or [platform] signing is required.";
+ }
TryCatch(!IsFailed(r), error = INSTALLER_ERROR_PRIVILEGE_INVALID, "privMgr.GeneratePrivilegeString() failed. [INVALID_PRIVILEGE]");
}
result r = pPackageInfoImpl->Construct(packageId);
TryReturn(r == E_SUCCESS, INSTALLER_ERROR_INTERNAL_STATE, "pPackageInfoImpl->Construct(%ls) failed.", packageId.GetPointer());
+ bool isUninstallable = pPackageInfoImpl->IsUninstallable();
+ if (isUninstallable == false)
+ {
+ __pContext->__additionalErrorString = L"Thrown when the application cannot be uninstalled because the application was preloaded.";
+ }
+ TryReturn(isUninstallable == true, INSTALLER_ERROR_PACKAGE_INVALID, "preload app cannot be uninstalled.");
+
__pContext->__rootPath = pPackageInfoImpl->GetAppRootPath();
if (__pContext->__rootPath.StartsWith(PATH_USR_APPS, 0) == true)
{