Home | Info | Community | Development | myReactOS | Contact Us
Definition at line 384 of file assembly.c.
Referenced by ACTION_InstallFiles().
{ HRESULT hr; const WCHAR *manifest; IAssemblyCache *cache; MSIASSEMBLY *assembly = comp->assembly; MSIFEATURE *feature = NULL; if (comp->assembly->feature) feature = msi_get_loaded_feature( package, comp->assembly->feature ); if (assembly->application) { if (feature) feature->Action = INSTALLSTATE_LOCAL; return ERROR_SUCCESS; } if (assembly->attributes == msidbAssemblyAttributesWin32) { if (!assembly->manifest) { WARN("no manifest\n"); return ERROR_FUNCTION_FAILED; } manifest = msi_get_loaded_file( package, assembly->manifest )->TargetPath; cache = package->cache_sxs; } else { manifest = msi_get_loaded_file( package, comp->KeyPath )->TargetPath; cache = package->cache_net[get_clr_version( manifest )]; } TRACE("installing assembly %s\n", debugstr_w(manifest)); hr = IAssemblyCache_InstallAssembly( cache, 0, manifest, NULL ); if (hr != S_OK) { ERR("Failed to install assembly %s (0x%08x)\n", debugstr_w(manifest), hr); return ERROR_FUNCTION_FAILED; } if (feature) feature->Action = INSTALLSTATE_LOCAL; assembly->installed = TRUE; return ERROR_SUCCESS; }