Index: tol/stdlib/general/TolPackage/client.tol
===================================================================
--- tol/stdlib/general/TolPackage/client.tol	(revision 0924759eda90939ee5f7a3060f930b6e0baa4512)
+++ tol/stdlib/general/TolPackage/client.tol	(revision 9b57f60fc7c33a87c80426fedb32d2a1698a78c0)
@@ -184,4 +184,47 @@
 
 //////////////////////////////////////////////////////////////////////////////
+  Set GetRepositoryInfo(Text url)
+//////////////////////////////////////////////////////////////////////////////
+{
+  Real Show(False,"ALL");
+  Text pkgInfo = GetUrlContents(url);
+  Set pkgLst = IncludeText(pkgInfo);
+  Real Show(True,"ALL");
+/*
+  Text If(Card(pkgLst)==0, 
+  {
+    WriteLn("[TolPackage::Client::GetRepositoryInfo] "
+    "Cannot connect to \n"+url,"W")
+  });
+*/
+  pkgLst
+};
+
+
+/////////////////////////////////////////////////////////////////// ///////////
+  Real CheckRepositoryPing(Text url)
+//////////////////////////////////////////////////////////////////////////////
+{
+  If(TolConfigManager::Config::Upgrading::TolPackage::LocalOnly, False, 
+  {
+    Real key = IntRand(111111111,999999999);
+    Set info = GetRepositoryInfo(url+"?action=ping&key="<<key);
+    Real ok = Case(
+      !Card(info),False, 
+      Grammar(info[1])!="Real",False,
+      1==1, info[1]==key);
+  //WriteLn("TRACE [CheckRepositoryPing] url="<<url+" info="<<info+" ok="<<ok);
+    ok
+  })
+};
+
+//////////////////////////////////////////////////////////////////////////////
+  Real ChecktolProjectPing(Real void)
+//////////////////////////////////////////////////////////////////////////////
+{
+  CheckRepositoryPing(TolPackage::_.official)
+};
+
+//////////////////////////////////////////////////////////////////////////////
 Text _.autodoc.member.GetMinTolVersionForPackage = 
 "Devuelve la versión de TOL mínima que requiere un paquete dado"
@@ -191,5 +234,5 @@
 {
 //WriteLn("TRACE [RemoteFindRepository] 1 package='"<<package+"'");
-  If(TolConfigManager::Config::Upgrading::TolPackage::LocalOnly, "", {
+  If(!ChecktolProjectPing(?), "", {
 //WriteLn("TRACE [RemoteFindRepository] 2");
   Set repositories = 
@@ -202,8 +245,7 @@
   {
   //WriteLn("TRACE [RemoteFindRepository] 4 repositories["<<k+"]="<<repositories[k]);
-    Text pkgInfo = GetUrlContents(repositories[k]+"?"
+    Set pkgLst = GetRepositoryInfo(repositories[k]+"?"
       "action=versions&limit=1&"+
       "package="+package);
-    Set pkgLst = IncludeText(pkgInfo);
   //WriteLn("TRACE [RemoteFindRepository] 5 pkgInfo="<<pkgInfo);
   //WriteLn("TRACE [RemoteFindRepository] 6 pkgLst="<<pkgLst);
@@ -226,5 +268,5 @@
 {
 //WriteLn("TRACE [RemoteFindRepository] 1 package='"<<package+"'");
-  If(TolConfigManager::Config::Upgrading::TolPackage::LocalOnly, "", {
+  If(!ChecktolProjectPing(?), "", {
 //WriteLn("TRACE [RemoteFindRepository] 2");
   Set repositories = 
@@ -237,9 +279,6 @@
   {
   //WriteLn("TRACE [RemoteFindRepository] 4 repositories["<<k+"]="<<repositories[k]);
-    Text pkgInfo = GetUrlContents(repositories[k]+"?"
-      "action=versions&limit=1&"+
-      "package="+package+"&"+
-      min_tol_version_cond);
-    Set pkgLst = IncludeText(pkgInfo);
+    Set pkgLst = GetRepositoryInfo(repositories[k]+"?"
+      "action=versions&limit=1&"+"package="+package+"&"+min_tol_version_cond);
   //WriteLn("TRACE [RemoteFindRepository] 5 pkgInfo="<<pkgInfo);
   //WriteLn("TRACE [RemoteFindRepository] 6 pkgLst="<<pkgLst);
@@ -262,14 +301,14 @@
 //////////////////////////////////////////////////////////////////////////////
 {
-  If(TolConfigManager::Config::Upgrading::TolPackage::LocalOnly, UnknownDate, {
+  If(!ChecktolProjectPing(?), UnknownDate, {
   Text rep = If(repository=="",repository,RemoteFindRepository(package));
   If(rep=="", UnknownDate,
   {
-    Text pkgInfo = GetUrlContents(rep+"?"
+    Set pkgLst = GetRepositoryInfo(rep+"?"
       "action=versions&limit=1&"+
       "package="+package+"&"+
       min_tol_version_cond);
-    Set pkgLst = IncludeText(pkgInfo);
-    pkgLst[1]->dh_release_date_remote
+    If(!Card(pkgLst), TheEnd,
+      pkgLst[1]->dh_release_date_remote)
   })
 })};
@@ -283,8 +322,9 @@
 //////////////////////////////////////////////////////////////////////////////
 {
-  If(TolConfigManager::Config::Upgrading::TolPackage::LocalOnly, 0, {
+  If(!ChecktolProjectPing(?), 0, {
   Real OSDirMake(localRoot);
 //WriteLn("TRACE [RemoteInstallPackage] 1 repository='"<<repository+"'");
   Text package.version = package;
+  Real ok = True;
   Text If(TextFind(package,"."),
   {
@@ -292,12 +332,18 @@
   },
   {
-    Text pkgInfo = GetUrlContents(repository+"?"
+    Set pkgLst = GetRepositoryInfo(repository+"?"
       "action=versions&limit=1&"+
       "package="+package+"&"+
       min_tol_version_cond);
-    Set pkgLst = IncludeText(pkgInfo);
-    Text package.version := pkgLst[1]->co_name_version
-  });
-
+    If(!Card(pkgLst),
+    {
+      Real ok := False;
+      ""
+    },
+    {
+      Text package.version := pkgLst[1]->co_name_version
+    })
+  });
+  If(!ok, 0, {
 //WriteLn("TRACE [RemoteInstallPackage] 2 package='"<<package+"'");
 //WriteLn("TRACE [RemoteInstallPackage] 3 package.version='"<<package.version+"'");
@@ -324,5 +370,5 @@
 //WriteLn("TRACE DownloadPackage 5");
   FileExist(localOza)  
-})};
+ })})};
 
 //////////////////////////////////////////////////////////////////////////////
@@ -356,13 +402,13 @@
 //////////////////////////////////////////////////////////////////////////////
 {
-  If(TolConfigManager::Config::Upgrading::TolPackage::LocalOnly, 0, {
-  Text pkgInfo = GetUrlContents(repository+"?"
+  If(!ChecktolProjectPing(?), 0, {
+  Set pkgLst = GetRepositoryInfo(repository+"?"
     "action=versions&"+
     min_tol_version_cond);
-  Set pkgLst = IncludeText(pkgInfo);
+  If(!Card(pkgLst), False,
   SetMin(EvalSet(pkgLst, Real(Set pkg)
   {
     RemoteInstallPackage(repository, pkg->co_name_version, showError)
-  }))
+  })))
 })};
 
@@ -391,5 +437,5 @@
 //WriteLn("TRACE [RemoteInstall] 1 repository='"<<repository+"'");
 //WriteLn("TRACE [RemoteInstall] 2 package='"<<package+"'");
-  If(TolConfigManager::Config::Upgrading::TolPackage::LocalOnly, 0, {
+  If(!ChecktolProjectPing(?), 0, {
   Case(
   And(repository!="",package!=""),
@@ -454,13 +500,12 @@
 //////////////////////////////////////////////////////////////////////////////
 {
-  If(TolConfigManager::Config::Upgrading::TolPackage::LocalOnly, 0, {
+  If(!ChecktolProjectPing(?), 0, {
   Set repositories = 
     TolConfigManager::Config::Upgrading::TolPackage::Repositories;
   Set _.versSyncInfo := SetConcat(EvalSet(repositories,Set(Text rep)
   {
-    Text pkgInfo = GetUrlContents(rep+"?"
+    GetRepositoryInfo(rep+"?"
       "action=versions&"+
-      min_tol_version_cond);
-    IncludeText(pkgInfo)
+      min_tol_version_cond)
   }));
   Real SetIndexByName(_.versSyncInfo);
@@ -498,13 +543,12 @@
 {
   Text _MID = "TolPackage::Client::[RemoteUpdatePackSyncInfo] ";
-  If(TolConfigManager::Config::Upgrading::TolPackage::LocalOnly, 0, {
+  If(!ChecktolProjectPing(?), 0, {
   Set repositories = 
     TolConfigManager::Config::Upgrading::TolPackage::Repositories;
   Set _.packSyncInfo := SetConcat(EvalSet(repositories,Set ev.rep(Text rep)
   {
-    Text pkgInfo = GetUrlContents(rep+"?"
+    GetRepositoryInfo(rep+"?"
       "action=packages&"+
-      min_tol_version_cond);
-    IncludeText(pkgInfo)
+      min_tol_version_cond)
   }));
   Real SetIndexByName(_.packSyncInfo);
Index: tol/stdlib/gui/tcl/_tclutils.tol
===================================================================
--- tol/stdlib/gui/tcl/_tclutils.tol	(revision 0924759eda90939ee5f7a3060f930b6e0baa4512)
+++ tol/stdlib/gui/tcl/_tclutils.tol	(revision 9b57f60fc7c33a87c80426fedb32d2a1698a78c0)
@@ -386,11 +386,4 @@
     },
     {
-      Real If(TolConfigManager::Config::Upgrading::TolPackage::LocalOnly,
-      {
-        0
-      },
-      { 
-        TolPackage::Client::RemoteUpdatePackSyncInfo(True)
-      });
       WriteLn(I2("Checking if TOL is updated.",
                  "Comprobando si TOL está actualizado."));
@@ -399,13 +392,29 @@
                      FormatDate(Now,"%cy%Ym%md%dh%hi%is%s")+";\n");
       Text tol_site = "https://www.tol-project.org/wiki/DownloadTol";
-      Text lastOldStableWin = GetVersionFromTolProject("oldstable");
-      Text lastOfficialWin  = GetVersionFromTolProject("official");
-      Text lastDevelopmWin  = GetVersionFromTolProject("development");
-      Real ostOK = (Text lastOldStableWin!="");
-      Real ofcOK = (Text lastOfficialWin!="");
-      Real devOK = (Text lastDevelopmWin!="");
+      Text lastOldStableWin ="";
+      Text lastOfficialWin  = "";
+      Text lastDevelopmWin  = "";
+      Real ostOK = False;
+      Real ofcOK = False;
+      Real devOK = False;
+      Real Show(False,"ALL");
+      Text lastOldStableWin := GetVersionFromTolProject("oldstable");
+      Real ostOK := (Text lastOldStableWin!="");
+      If(ostOK,
+      {
+        Text lastOfficialWin := GetVersionFromTolProject("official");
+        Real ofcOK := (Text lastOfficialWin!="");
+        If(ofcOK,
+        {
+          Text lastDevelopmWin := GetVersionFromTolProject("development");
+          Real devOK := (Text lastDevelopmWin!="")
+        })
+      });
+      Real Show(True,"ALL");
       Text msg="";
+      Real cannot_connect = False;
       Real check = If(Or(!ostOK, !ofcOK, !devOK),
       {
+        Real cannot_connect := True;
         WriteLn(msg:=I2("Cannot check TOL release.",
                         "No se pudo chequear la versión de TOL."),"W");
@@ -461,9 +470,18 @@
       Real ok = If(check==0, 1,
       {
-        Text doTest = TclTkMessageBox(SetOfSet(
-                        @TclArgSt("-title",   "Dialogo TclWarning"),
-                        @TclArgSt("-message", msg),
-                        @TclArgSt("-icon",    "warning")));
+        If(!cannot_connect,
+          Text doTest = TclTkMessageBox(SetOfSet(
+                          @TclArgSt("-title",   "Dialogo TclWarning"),
+                          @TclArgSt("-message", msg),
+                          @TclArgSt("-icon",    "warning"))));
         0
+      });
+    //Real If(!check|TolConfigManager::Config::Upgrading::TolPackage::LocalOnly,
+      Real If(!check|TolConfigManager::Config::Upgrading::TolPackage::LocalOnly,
+      {
+        0
+      },
+      { 
+        TolPackage::Client::RemoteUpdatePackSyncInfo(True)
       });
       check
