secureswitools/swisistools/source/interpretsislib/sisregistryobject.cpp
branchRCL_3
changeset 81 42552535c1ac
parent 66 8b7f4e561641
--- a/secureswitools/swisistools/source/interpretsislib/sisregistryobject.cpp	Wed Sep 15 12:20:42 2010 +0300
+++ b/secureswitools/swisistools/source/interpretsislib/sisregistryobject.cpp	Wed Oct 13 14:40:19 2010 +0300
@@ -125,7 +125,8 @@
 	for( InstallableFiles::const_iterator curr = aFiles.begin(); curr != aFiles.end(); ++curr )
 	{	
 		InstallableFile* installableFile= *curr;		
-		FileDescription* f = new FileDescription(*installableFile->FileDescription() , installableFile->Sid(), aTargetDrive, installableFile->GetTarget());
+		TUint32 sid = ((installableFile->IsExe())?(installableFile->Sid()):0);
+		FileDescription* f = new FileDescription(*installableFile->FileDescription() , sid, aTargetDrive, installableFile->GetTarget());
 		iFileDescriptions.push_back(f);
 	}
 
@@ -401,9 +402,9 @@
 		}
 	else
 	{
+		std::string x;
 		std::string error = "can not retrieve localized vendor name";
-		std::string x = wstring2string((std::wstring)packageName);
-		throw InvalidSis(x, error, INVALID_SIS);
+		throw InvalidSis(Ucs2ToUtf8((std::wstring)packageName,x), error, INVALID_SIS);
 	}
 
 	// Signed by SU cert
@@ -723,7 +724,7 @@
 	for(InstallableFiles::const_iterator curr = aFiles.begin(); curr != aFiles.end(); ++curr )
 	{	
 		InstallableFile* installableFile= *curr;
-		TUint32 sid = installableFile->Sid();
+		TUint32 sid = ((installableFile->IsExe())?(installableFile->Sid()):0);
 		FileDescription* f = new FileDescription(*installableFile->FileDescription() , sid, iSelectedDrive, installableFile->GetTarget());
 		iFileDescriptions.push_back(f);
 
@@ -744,7 +745,7 @@
 	for(InstallableFiles::const_iterator curr = aFiles.begin(); curr != aFiles.end(); ++curr )
 	{	
 		InstallableFile* installableFile= *curr;
-		TUint32 sid = installableFile->Sid();
+		TUint32 sid = ((installableFile->IsExe())?(installableFile->Sid()):0);
 		FileDescription f = FileDescription(*installableFile->FileDescription(), sid,
 											iSelectedDrive, installableFile->GetTarget());