Cómo crear un menú automático para instaladores

Aquí puedes preguntar o compartir tus dudas y conocimientos acerca del programa
Hola a todos, pido disculpas de antemano por el español, ya que estoy usando traductor. Quiero crear un menú para instaladores, donde primero selecciono cada instalador que quiero y luego hago clic en un solo botón y todos esos instaladores seleccionados se instalarán más o menos como en la imagen a continuación. ¿Alguien puede darme algo de ayuda?

Imagen
Cacá escribió: Hola a todos, pido disculpas de antemano por el español, ya que estoy usando traductor. Quiero crear un menú para instaladores, donde primero selecciono cada instalador que quiero y luego hago clic en un solo botón y todos esos instaladores seleccionados se instalarán más o menos como en la imagen a continuación. ¿Alguien puede darme algo de ayuda?

HIDE: ON
Hidebb Message Hidden Description
Hola, te comparto este proyecto de un usuario de youtube (LACD Technology), fue publicado de manera libre por él mismo, asi que lo comparto.

HIDE: ON
Hidebb Message Hidden Description


De ahí puedes sacar varias ideas para un pack de programas. En sí, ya es un pack de programas, pero lo ideal sería que vieras el código para hacer el tuyo propio.

Necesitas 2 plugin que se utilizan en el proyecto:

- Gif Object:
HIDE: ON
Hidebb Message Hidden Description

- ListBoxEx Object:
HIDE: ON
Hidebb Message Hidden Description


Debes pegarlos en: "C:\Program Files (x86)\AutoPlay Media Studio 8\Plugins\Objects"

Saludos.
Muchas gracias, eso es exactamente lo que quiero, muchas gracias chicos. R Landaeta intenté editar tu proyecto para que fuera más como quería, más simple y logré hacerlo, pero no pude agregar ni vincular los instaladores que quiero, así que te pregunto, ¿cómo hago eso? No entiendo mucho sobre Lua
Cacá escribió:
22 Nov 2023 21:50
Muchas gracias, eso es exactamente lo que quiero, muchas gracias chicos. R Landaeta intenté editar tu proyecto para que fuera más como quería, más simple y logré hacerlo, pero no pude agregar ni vincular los instaladores que quiero, así que te pregunto, ¿cómo hago eso? No entiendo mucho sobre Lua
En esta línea está claro dónde debes añadir tu ejecutador. Te la dejo comentada.
Text = ListBoxEx.Find("ListBoxEx", "Dropbox 40.4.46", LBXFIND_TEXT);
if Text ~= nil then
Label.SetText("Label_App_Install", "Instalando Dropbox, por favor espere...");

--En esta línea desdes añadir tu ejecutador. 
Shell.Execute("AutoPlay\\Docs\\Almacenamiento en Línea\\Dropbox 40.4.46\\Dropbox 40.4.46 Offline Installer.exe", "open", "/S", "", SW_SHOWNORMAL, true);
x = x + 1
Label.SetText("Label_0/0", x.."/"..TotalItems);
Progress.SetCurrentPos("ProgressBar", x);
end
La "/S" se refiere a la modalidad "silenciosa". Pero con algunos programas no sirve. Te recomiendo utilizar algún programa que convierta tus ejecutadores para que se instalen silenciosamente.

En su momento utilicé el Silent Install Builder.

Tutorial: https://www.youtube.com/watch?v=vI1GotqvKZ8

De todas maneras el proyecto no es mío, es de un canal de Youtube.

Saludos.
Muéstrale a mi amigo y aún más muéstrale lo de tener la opción de instalación silenciosa, ya tengo los comandos para la instalación silenciosa para casi todas las aplicaciones que tengo, y para las nuevas uso el "Silent Install Helper". Mañana lo probaré aquí, gracias.
Buen día. Ya estoy muy avanzado con mi menú de instalación, he tenido algunas dudas, lo cual es normal, pero hasta ahora he logrado resolverlas todas, excepto una, no puedo cambiar el color de fuente donde están las aplicaciones. m que voy a instalar están seleccionados (ListBoxEx). ¿Alguien puede explicarme cómo hago esto?
Cacá escribió:
24 Nov 2023 14:28
Buen día. Ya estoy muy avanzado con mi menú de instalación, he tenido algunas dudas, lo cual es normal, pero hasta ahora he logrado resolverlas todas, excepto una, no puedo cambiar el color de fuente donde están las aplicaciones. m que voy a instalar están seleccionados (ListBoxEx). ¿Alguien puede explicarme cómo hago esto?
Hola, en Propiedades de la ListBoxEx puedes cambiar los colores: Doble clic > Ajustes > Propiedades

Imagen

Papra cambiar el Color, Tamaño y Tipografía del texto:

HIDE: ON
Hidebb Message Hidden Description


Puedes utlizar HTML para poner negritas, enlaces, entre otras cosas.

En la carpeta del plugin hay algunos ejemplos:

HIDE: ON
Hidebb Message Hidden Description


Te dejo un ejemplo que encontré en el foto de indigorose:

HIDE: ON
Hidebb Message Hidden Description


Con esto ya deberías poder hacer lo que quieres, si no, ve bien los códigos y arreglatelas. No es tan difícil.

Saludos.
Hola amigo, te agradezco mucho la fuerza que me estás dando. Intenté cambiar el color de fuente del ListBoxEx del proyecto pero no pude, vea la imagen a continuación.
Respecto al código que me diste, no lo entendí bien, ¿este código es parte de un script que está en algún lugar del proyecto y para editar el color solo edito el código de color HTML? Si es así, no pude encontrarlo. Intenté agregarlo a ListBoxEx - Script -On Create pero me dio un error.
Imagen
Imagen

Un segundo problema al que me enfrento, con las primeras aplicaciones que probé anteriormente, es con Google Chrome. Intento instalarlo con el menú que creé pero no funciona, da un error al instalar, lo imprimí y lo publicaré a continuación y el error no es el instalador de Chrome en sí, solo con él puedo instalarlo. normalmente. Intenté cambiar el código de /qs a /quiet en la parte de instalación silenciosa pero permaneció igual

Imagen

Y ver cómo el código que edité en button_Install - script - On Click

Código: Seleccionar todo

-------------------------------------------Google Chrome-----------------------------------------------------------------
 Text = ListBoxEx.Find("ListBoxEx", "Google Chrome", LBXFIND_TEXT);
 	if Text ~= nil then
 		if Arq == true then
 		Label.SetText("Label_App_Install", "Instalando Google Chrome x64, por favor espere...");
		Shell.Execute("AutoPlay\\Docs\\Navegadores\\ChromeStandaloneSetup64.exe", "open", "/quiet /norestart", "", SW_SHOWNORMAL, true);
		x = x + 1
		Label.SetText("Label_0/0", x.."/"..TotalItems);
		Progress.SetCurrentPos("ProgressBar", x);
			else
		Label.SetText("Label_App_Install", "Instalando Google Chrome x32, por favor espere...");
		Shell.Execute("AutoPlay\\Docs\\Navegadores\\ChromeStandaloneSetup.exe", "open", "/quiet /norestart", "", SW_SHOWNORMAL, true);
		x = x + 1
		Label.SetText("Label_0/0", x.."/"..TotalItems);
		Progress.SetCurrentPos("ProgressBar", x);
		end
 		
 	end
En el código original, para todos los navegadores había una línea que hacía referencia a una aplicación llamada Closesearch, pero intenté buscar en Internet qué es esta aplicación, para qué sirve y dónde encontrarla pero no encontré nada, de repente puede que falte .

Código: Seleccionar todo

Shell.Execute("AutoPlay\\Docs\\Navegadores y Buscadores\\Google Chrome\\googlechromestandaloneenterprise64.msi", "open", "/qb /norestart", "", SW_SHOWNORMAL, true);
		Shell.Execute("AutoPlay\\Docs\\Taskkill\\CloseSearch.exe", "open", "", "", SW_SHOWNORMAL, true);
Cacá escribió:
25 Nov 2023 00:24
El código lo debes colocar en los botones que pinchas para añadirl los programas a la lista.
HIDE: ON
Hidebb Message Hidden Description

Solo debes colocal esto antes del nombre del programa:
HIDE: ON
Hidebb Message Hidden Description

Y esto después, para cerrar el <font ... >:
HIDE: ON
Hidebb Message Hidden Description

Face = Tipografía
Size = Tamaño de l texto
#FFFFFF = Es el color del texto

Lo de Google Chrome no lo sé. Quizás debas descargar una versión Offline, que no utilice internet para instalar. O descargarlo con extensión .msi.
Hola, una vez más muchas gracias por tu paciencia. En cuanto a Chrome, luego pruebo con el instalador .msi, lo que probé está sin conexión pero es .exe.
En cuanto al color, no funcionó, creo que hice algo mal, intenté agregar el código al botón de la foto, que es uno de los que agrega el título al ListBoxEx pero sigue dando este error. , ver

Imagen

Agregué a ON CLICK este botón

Imagen
Cacá escribió:
25 Nov 2023 14:18
Error mio:

HIDE: ON
Hidebb Message Hidden Description


Faltaron las comillas.
Gracias, lo corregí aquí, ya no causaba el error de sintaxis, pero aún así no funcionó, mi intención es cambiar el color de fuente de negro a azul o verdadero. Hice un video de como lo hice aquí, creo que todavía estoy haciendo algo mal, a ver si puedes verlo.

https://pixeldrain.com/u/xUe7xwTq
Cacá escribió:
25 Nov 2023 21:40
Gracias, lo corregí aquí, ya no causaba el error de sintaxis, pero aún así no funcionó, mi intención es cambiar el color de fuente de negro a azul o verdadero. Hice un video de como lo hice aquí, creo que todavía estoy haciendo algo mal, a ver si puedes verlo.

https://pixeldrain.com/u/xUe7xwTq

Pero, amigo, fíjate en los nombres de los objetos...

Imagen


Otra cosa, estás añadiendo el texto 2 veces... eso quiere decir que el primero no sirve.

Imagen


Debes cortar la primera línea que marqué y pegarla en la segunda línea marcada. Así:

Imagen

Cuando hagas el cambio, modifica "Mozilla Firefox" por "xButton.GetText(this) ". De esta manera tomará el texto del xButton que presionas.

El "this" hace referencia al objeto en el cual estás ejecutando el código. Así que en vez de escribir "xButton1", puedes reemplazarlo por un "this" (Sin las comillas, debe quedar en color azul).

La línea (11) debería quedar de esta manera:

HIDE: ON
Hidebb Message Hidden Description


Cualquier cosa me comentas.
Saludos.
Muchas gracias, ahora funcionó, gracias, te lo agradezco mucho, eres muy bueno, tanto en tener un gran conocimiento sobre el tema como en estar muy dispuesto a ayudar. Al realizar la prueba estuve a punto de decir que no funcionó pero decidí probarlo en otros botones además de xButton1 y funcionó, simplemente no funciona en xButton1 pero ahora voy a intentar descubrir por qué. Noté que el código es un poco diferente de un botón a otro, incluso lo voy a pegar aquí para que puedas verlo, sospecho que esto podría ser de repente el culpable de que Chrome no funcione. Lo probaré también. Una vez más muchas gracias
Observación: El color me quedó muy feo, pero me pareció el más adecuado. :) :)

xButton1

Código: Seleccionar todo

------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------
ListBoxEx.AddItem("Plugin1", "<font color=#1ef28c face=Calibri size=4>Mozilla Firefox</font>", "", "", "", 1, LBXITEM_HTML, 0, nil, nil, nil);

Text = xButton.GetText("xButton1");
	if Text ~= 'Sin aplicación' then
		if Text == 'Messenger 2.0.9' then
			Buscar = ListBoxEx.Find("ListBoxEx", xButton.GetText("xButton1"), LBXFIND_TEXT);
			if Buscar == nil then
				Dialog.Message("AIO-LACD Community", "Messenger requiere del Complemento NET Framework 4.6.2 para su instalación. Si ya cuenta con este complemento en su equipo, omita este mensaje.", MB_OK, MB_ICONINFORMATION, MB_DEFBUTTON3);
				    ListBoxEx.AddItem("ListBoxEx", "<font color=##1ef28c face=Calibri size=4>"..xButton.GetText(this).."</font>", "", "", "", 0, LBXITEM_HTML, 0, nil, nil, nil);
			else
			ListBoxEx.DeleteItem("ListBoxEx", Buscar[1]);
			end
			ListBoxEx.Sort("ListBoxEx", LBXSORT_ASC);
		else
			Buscar = ListBoxEx.Find("ListBoxEx", xButton.GetText("xButton1"), LBXFIND_TEXT);
			if Buscar == nil then
				ListBoxEx.AddItem("ListBoxEx", xButton.GetText("xButton1"), "", "", "", 0, LBXITEM_HTML, 0);
				else
					ListBoxEx.DeleteItem("ListBoxEx", Buscar[1]);
			end
			ListBoxEx.Sort("ListBoxEx", LBXSORT_ASC);
		end
	end
xButton2

Código: Seleccionar todo

Text = xButton.GetText("xButton2");

if Text ~= 'Sin aplicación' then

Buscar = ListBoxEx.Find("ListBoxEx", xButton.GetText("xButton2"), LBXFIND_TEXT);

if Buscar == nil then

	ListBoxEx.AddItem("ListBoxEx", "<font color=#1ef28c face=Calibri size=4>"..xButton.GetText(this).."</font>", "", "", "", 0, LBXITEM_HTML, 0, nil, nil, nil);
	
else

	ListBoxEx.DeleteItem("ListBoxEx", Buscar[1]);
	
end

ListBoxEx.Sort("ListBoxEx", LBXSORT_ASC);
end
xButton3

Código: Seleccionar todo

------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------
OS = System.GetOSName();
Text = xButton.GetText("xButton3");

	if Text ~= 'Sin aplicación' then
		if Text == 'PaintNET 4.0.19' then
			Buscar = ListBoxEx.Find("ListBoxEx", xButton.GetText("xButton3"), LBXFIND_TEXT);
			if Buscar == nil then
				Dialog.Message("AIO-LACD Community", "PaintNET requiere del Complemento NET Framework 4.6.2 para su instalación. Si ya cuenta con este complemento en su equipo, omita este mensaje.", MB_OK, MB_ICONINFORMATION, MB_DEFBUTTON3);
				ListBoxEx.AddItem("ListBoxEx", xButton.GetText("xButton3"), "", "", "", 0, LBXITEM_HTML, 0);
			else
				ListBoxEx.DeleteItem("ListBoxEx", Buscar[1]);
			end
			ListBoxEx.Sort("ListBoxEx", LBXSORT_ASC);
		else
			if Text == 'Microsoft Essential Security' then
				if OS == 'Windows 8' or OS == 'Windows 8.1' or OS == 'Windows Server 2012' or OS == 'Windows Server 2012 R2' or OS == 'Windows 10' or OS == 'Windows Server 10' then
					Dialog.Message("AIO-LACD Community", "!Lo sentimos! Microsoft Essential Security no es compatible con esta versión de Windows. Lo invitamos a que seleccione otra aplicación de protección contra amaenazas.", MB_OK, MB_ICONINFORMATION, MB_DEFBUTTON3);
				else
					Buscar = ListBoxEx.Find("ListBoxEx", xButton.GetText("xButton3"), LBXFIND_TEXT);
					if Buscar == nil then
						ListBoxEx.AddItem("ListBoxEx", xButton.GetText("xButton3"), "", "", "", 0, LBXITEM_HTML, 0);
					else
						ListBoxEx.DeleteItem("ListBoxEx", Buscar[1]);
					end
						ListBoxEx.Sort("ListBoxEx", LBXSORT_ASC);
				end
			else
				Buscar = ListBoxEx.Find("ListBoxEx", xButton.GetText("xButton3"), LBXFIND_TEXT);
				if Buscar == nil then
					ListBoxEx.AddItem("ListBoxEx", "<font color=#1ef28c face=Calibri size=4>"..xButton.GetText(this).."</font>", "", "", "", 0, LBXITEM_HTML, 0, nil, nil, nil);
				else
					ListBoxEx.DeleteItem("ListBoxEx", Buscar[1]);
				end
					ListBoxEx.Sort("ListBoxEx", LBXSORT_ASC);
			end
	end
	end
Los demás son iguales que xButton2





Imagen
Ya lo encontré aquí porque no funcionaba xButton1, y ya me habías avisado de la línea repetida, eso fue todo, listo, muchas gracias.
Cacá escribió:
25 Nov 2023 23:32
Ya lo encontré aquí porque no funcionaba xButton1, y ya me habías avisado de la línea repetida, eso fue todo, listo, muchas gracias.
Si, los códigos son distintos porque tienen distintas condiciones, en el Botón 1 se busca el texto "Messenger 2.0.9", ya que necesita una aplicación extra para que funcione bien y te avisa con un "Dialog.Message".

Y en el botón 3 se añade la aplicación "Microsoft Essential Security" al ListBoxEx dependiendo del Sistema operativo, porque solo funciona en Windows 7.

Te recomiendo que crees una copia del proyecto. Después copia el código del Botón 2 (Es el que te servirá para la mayoría de las aplicaciones) y pegalo en todos los demás botones. Y luego, revisa si alguna condición te sirve dependiendo de la aplicación que añadas.

Saludos.
Hola, entiendo, realmente noté ciertas diferencias entre los botones. Curiosamente, el problema con el botón1 no era la línea repetida, incluso después de editarlo, su título permaneció en negro, así que eliminé su texto y puse el mismo texto que el botón2, después de todo, todas las aplicaciones que usaré serán diferentes al proyecto original. , Lo haré más tarde probando más.
En cuanto a guardar copias, lo hago todo el tiempo, desde guardar una copia del original hasta guardar copias cuando hago alguna edición importante.
Muchas gracias
Excelente