| Line 101... | Line 101... | 
          
            | 101 | 		if(!dir.empty())
 | 101 | 		if(!dir.empty())
 | 
          
            | 102 | 		{
 | 102 | 		{
 | 
          
            | 103 | 			m_bDirLocked = false;
 | 103 | 			m_bDirLocked = false;
 | 
          
            | 104 |  
 | 104 |  
 | 
          
            | 105 | 			// write a file in the directory
 | 105 | 			// write a file in the directory
 | 
          
            | 106 | 			String ^sDir = _US(dir.findReplace("/", "\\"));
 | 106 | 			String ^sDir = _US(dir.findReplace(L"/", L"\\"));
 | 
          
            | 107 | 			bool written = true;
 | 107 | 			bool written = true;
 | 
          
            | 108 | 			StreamWriter ^sw = nullptr;
 | 108 | 			StreamWriter ^sw = nullptr;
 | 
          
            | 109 | 			try {
 | 109 | 			try {
 | 
          
            | 110 | 				sw = System::IO::File::CreateText(sDir + "\\checklock.xpmtest");
 | 110 | 				sw = System::IO::File::CreateText(sDir + "\\checklock.xpmtest");
 | 
          
            | 111 | 				sw->WriteLine("can write");
 | 111 | 				sw->WriteLine("can write");
 | 
          
            | Line 149... | Line 149... | 
          
            | 149 | 			if ( !written ) {
 | 149 | 			if ( !written ) {
 | 
          
            | 150 | 				MessageBox::Show(this, _US(Utils::WString::Format(CLanguages::Instance()->findText(LS_STARTUP, LANGSTARTUP_LOCKEDDIR), dir.c_str())), _US(CLanguages::Instance()->findText(LS_STARTUP, LANGSTARTUP_LOCKEDDIR_TITLE)), MessageBoxButtons::OK, MessageBoxIcon::Error);
 | 150 | 				MessageBox::Show(this, _US(Utils::WString::Format(CLanguages::Instance()->findText(LS_STARTUP, LANGSTARTUP_LOCKEDDIR), dir.c_str())), _US(CLanguages::Instance()->findText(LS_STARTUP, LANGSTARTUP_LOCKEDDIR_TITLE)), MessageBoxButtons::OK, MessageBoxIcon::Error);
 | 
          
            | 151 | 				m_bDirLocked = true;
 | 151 | 				m_bDirLocked = true;
 | 
          
            | 152 | 			}
 | 152 | 			}
 | 
          
            | 153 | 			else {
 | 153 | 			else {
 | 
          
            | 154 | 				dir = dir.findReplace("/", "\\");
 | 154 | 				dir = dir.findReplace(L"/", L"\\");
 | 
          
            | 155 | 				bool found = false;
 | 155 | 				bool found = false;
 | 
          
            | 156 |  
 | 156 |  
 | 
          
            | 157 | 				String ^folder = Environment::GetFolderPath(Environment::SpecialFolder::ProgramFiles);
 | 157 | 				String ^folder = Environment::GetFolderPath(Environment::SpecialFolder::ProgramFiles);
 | 
          
            | 158 | 				if ( dir.isin(_S(folder)) )
 | 158 | 				if ( dir.contains(_WS(folder)) )
 | 
          
            | 159 | 					found = true;
 | 159 | 					found = true;
 | 
          
            | 160 | 				else {
 | 160 | 				else {
 | 
          
            | 161 | 					folder = Environment::GetEnvironmentVariable("ProgramFiles(x86)");
 | 161 | 					folder = Environment::GetEnvironmentVariable("ProgramFiles(x86)");
 | 
          
            | 162 | 					if ( dir.isin(_S(folder)) )
 | 162 | 					if ( dir.contains(_WS(folder)) )
 | 
          
            | 163 | 						found = true;
 | 163 | 						found = true;
 | 
          
            | 164 | 				}
 | 164 | 				}
 | 
          
            | 165 | 				if ( !found ) {
 | 165 | 				if ( !found ) {
 | 
          
            | 166 | 					folder = Environment::GetEnvironmentVariable("ProgramFiles");
 | 166 | 					folder = Environment::GetEnvironmentVariable("ProgramFiles");
 | 
          
            | 167 | 					if ( dir.isin(_S(folder)) )
 | 167 | 					if ( dir.contains(_WS(folder)) )
 | 
          
            | 168 | 						found = true;
 | 168 | 						found = true;
 | 
          
            | 169 | 				}
 | 169 | 				}
 | 
          
            | 170 |  
 | 170 |  
 | 
          
            | 171 | 				if ( found ) {
 | 171 | 				if ( found ) {
 | 
          
            | 172 | 					if ( !m_pPackages->IsSupressProtectedWarning() ) {
 | 172 | 					if ( !m_pPackages->IsSupressProtectedWarning() ) {
 | 
          
            | Line 738... | Line 738... | 
          
            | 738 | 		{
 | 738 | 		{
 | 
          
            | 739 | 			Utils::WString sDisplay;
 | 739 | 			Utils::WString sDisplay;
 | 
          
            | 740 | 			Utils::WString sAfterText;
 | 740 | 			Utils::WString sAfterText;
 | 
          
            | 741 | 			for ( CBaseFile *p = packageList.First(); p; p = packageList.Next() )
 | 741 | 			for ( CBaseFile *p = packageList.First(); p; p = packageList.Next() )
 | 
          
            | 742 | 			{
 | 742 | 			{
 | 
          
            | 743 | 				sAfterText = m_pPackages->getUninstallAfterText(p).toWString();
 | 743 | 				sAfterText = m_pPackages->getUninstallAfterText(p);
 | 
          
            | 744 | 				m_pPi->AddPackageWithGroup(_US(p->name(m_pPackages->GetLanguage())), _US(p->author()), _US(p->version()), (sAfterText.empty() ? "Uninstalled" : _US(sAfterText)), "Uninstalled");
 | 744 | 				m_pPi->AddPackageWithGroup(_US(p->name(m_pPackages->GetLanguage())), _US(p->author()), _US(p->version()), (sAfterText.empty() ? "Uninstalled" : _US(sAfterText)), "Uninstalled");
 | 
          
            | 745 | 				sDisplay = p->getFullPackageName(m_pPackages->GetLanguage());
 | 745 | 				sDisplay = p->getFullPackageName(m_pPackages->GetLanguage());
 | 
          
            | 746 | 				delete p;
 | 746 | 				delete p;
 | 
          
            | 747 | 			}
 | 747 | 			}
 | 
          
            | 748 | 			for ( CBaseFile *p = disableList.First(); p; p = disableList.Next() )
 | 748 | 			for ( CBaseFile *p = disableList.First(); p; p = disableList.Next() )
 | 
          
            | Line 817... | Line 817... | 
          
            | 817 | 			{
 | 817 | 			{
 | 
          
            | 818 | 				if ( installedPackages.size() == 1 && erroredPackages.size() == 0 )
 | 818 | 				if ( installedPackages.size() == 1 && erroredPackages.size() == 0 )
 | 
          
            | 819 | 				{
 | 819 | 				{
 | 
          
            | 820 | 					CBaseFile *p = installedPackages.Front()->Data();
 | 820 | 					CBaseFile *p = installedPackages.Front()->Data();
 | 
          
            | 821 | 					Utils::WString packageName = p->getFullPackageName(m_pPackages->GetLanguage());
 | 821 | 					Utils::WString packageName = p->getFullPackageName(m_pPackages->GetLanguage());
 | 
          
            | 822 | 					Utils::WString afterText = m_pPackages->getInstallAfterText(p).toWString();
 | 822 | 					Utils::WString afterText = m_pPackages->getInstallAfterText(p);
 | 
          
            | 823 | 					if (afterText.empty())
 | 823 | 					if (afterText.empty())
 | 
          
            | 824 | 						this->DisplayMessageBox(frombackground, "Installed", "Package: " + _US(packageName) + " installed!\n\n", MessageBoxButtons::OK, MessageBoxIcon::Information);
 | 824 | 						this->DisplayMessageBox(frombackground, "Installed", "Package: " + _US(packageName) + " installed!\n\n", MessageBoxButtons::OK, MessageBoxIcon::Information);
 | 
          
            | 825 | 					else
 | 825 | 					else
 | 
          
            | 826 | 					{
 | 826 | 					{
 | 
          
            | 827 | 						afterText = afterText.stripHtml();
 | 827 | 						afterText = afterText.stripHtml();
 |