{"id":1611,"date":"2009-06-16T04:13:29","date_gmt":"2009-06-16T08:13:29","guid":{"rendered":"http:\/\/k-rlitos.com\/blog\/?p=1611"},"modified":"2009-06-29T18:31:57","modified_gmt":"2009-06-29T22:31:57","slug":"crear-instalador-para-temas-con-inno-setup","status":"publish","type":"post","link":"https:\/\/k-rlitos.com\/blog\/?p=1611","title":{"rendered":"Crear instalador para temas \/ Logons con Inno Setup"},"content":{"rendered":"<p>Lo primero que necesitas es el programa que crea el instalador, se llama<a href=\"http:\/\/www.jrsoftware.org\/isinfo.php\" target=\"_blank\"> INNO SETUP<\/a>, y para hacerlo mas f\u00e1cil usamos <a href=\"http:\/\/www.hisoft2000.de\/En\/index.htm\" target=\"_blank\">Inno Script Generator<\/a>, el cual nos permite crear script de una forma gr\u00e1fica, con conceptos b\u00e1sicos y avanzados. Tambi\u00e9n existe una herramienta llamada ISFD que nos permite crear pantallas personalizadas, pero la web oficial ha sido cerrada, pero puedes obtenerlo de <a href=\"http:\/\/k-rlitos.com\/mic\/ISFD.rar\" target=\"_blank\">AQUI<\/a>.<\/p>\n<p>El programa cuando lo empiezas a usar es un tanto dif\u00edcil de entender, por lo que te sugiero aprender a usarlo con Script Generator, que es simple y r\u00e1pido, te da la herramientas b\u00e1sicas.<\/p>\n<p>Lo bueno de inno setup es que la ayuda es bastante abundante, y los comandos son relativamente cortos.<\/p>\n<h2>Ejemplo Inno Setup para Temas<\/h2>\n<p>[spoiler show=\u00bbMostrar\u00bb hide=\u00bbOcultar\u00bb]<\/p>\n<p>Ac\u00e1 un ejemplo, este es el script que uso para hacer el instalador de los temas:<\/p>\n<p>Los campos REMPLAZAR se remplaza por el nombre de la subcarpeta, esto lo haces en \u00abEdit-Replace\u00bb, ejemplo<\/p>\n<p>Tema (archivo iss + crop1 + crop2 + licencias + screenshots) (1)<\/p>\n<p>|-nombre del tema (archivo(s). theme + carpetas) (2)<\/p>\n<p>|&#8211; Carpetas etc&#8230; (3)<\/p>\n<p><a href=\"http:\/\/k-rlitos.com\/blog\/wp-content\/uploads\/2009\/06\/1.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-thumbnail wp-image-1612\" title=\"1\" src=\"http:\/\/k-rlitos.com\/blog\/wp-content\/uploads\/2009\/06\/1-150x150.jpg\" alt=\"1\" width=\"150\" height=\"150\" \/><\/a> <a href=\"http:\/\/k-rlitos.com\/blog\/wp-content\/uploads\/2009\/06\/2.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-thumbnail wp-image-1613\" title=\"2\" src=\"http:\/\/k-rlitos.com\/blog\/wp-content\/uploads\/2009\/06\/2-150x150.jpg\" alt=\"2\" width=\"150\" height=\"150\" \/><\/a> <a href=\"http:\/\/k-rlitos.com\/blog\/wp-content\/uploads\/2009\/06\/3.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-thumbnail wp-image-1614\" title=\"3\" src=\"http:\/\/k-rlitos.com\/blog\/wp-content\/uploads\/2009\/06\/3-150x150.jpg\" alt=\"3\" width=\"150\" height=\"150\" \/><\/a><\/p>\n<p>En el caso anterior simplemente reemplazo REMPLAZAR por \u00abef &#8211; a tale of melodies\u00bb y autom\u00e1ticamente me tomara la carpeta \u00abef &#8211; a tale of melodies\u00bb de segundo orden, la primera Ef es donde guardo el archivo instalador, icono, y screenshots, la subcarpeta tiene el theme y la otra tiene los archivos del tema.<\/p>\n<p>En otras palabras La primera carpeta solo tiene el nombre Ef para mantener un orden<\/p>\n<p>La segunda Ef es la fundamental, la pimera puede tener cualquier nombre, pero esta tiene que ser el que va a remplazar REMPLAZAR<\/p>\n<p>La tercera Ef es solo el nombre de la carpeta del tema, pero puede tener cualquier nombre, seg\u00fan como el tema est\u00e9 hecho.<\/p>\n<blockquote><p>; Script generated by the Inno Setup Script Wizard.<br \/>\n; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!<\/p>\n<p>[Setup]<br \/>\n;Aca se pone la Id que se generar\u00e1 para cada instalador \u00abtools-Generate GUID\u00bb<\/p>\n<p>AppId={<\/p>\n<p>;Nombre de la aplicaci\u00f3n, se utilizar\u00e1 este nombre para el acceso directo<br \/>\nAppName=Windows XP Theme<\/p>\n<p>AppVerName=REMPLAZAR<br \/>\nAppPublisher=k-rlitos.com<br \/>\nAppPublisherURL=http:\/\/www.k-rlitos.com\/<br \/>\nAppSupportURL=http:\/\/www.k-rlitos.com\/<br \/>\nAppUpdatesURL=http:\/\/www.k-rlitos.com\/<br \/>\nDisableDirPage=yes<br \/>\nOutputBaseFilename=[Tema XP] REMPLAZAR<br \/>\nCompression=lzma<br \/>\nSolidCompression=yes<br \/>\n;[k-rlitos values]<\/p>\n<p>;Directorio en donde se guardar\u00e1 el desinstalador {pf} = Program Files (Archivos de programa)<br \/>\nDefaultDirName={pf}\\k-rlitos.com\\xp theme\\REMPLAZAR<\/p>\n<p>;Grupo del men\u00fa inicio<br \/>\nDefaultGroupName=Windows XP Theme<\/p>\n<p>;directorio de salida del exe final (en el mismo directorio)<br \/>\nOutputDir=.<br \/>\n;Dont move! No mover, esto define que es solo para windows XP y requiere administrador<br \/>\nMinVersion= 5.01,5.01<br \/>\nOnlyBelowVersion= 6.0,6.0<br \/>\nPrivilegesRequired=admin<\/p>\n<p>;la licencia<br \/>\nLicenseFile=C:\\termofuse.rtf<\/p>\n<p>;Imagen lateral (164&#215;314)<br \/>\nWizardImageFile=crop2.BMP<\/p>\n<p>;imagen superior derecha (50&#215;50)<br \/>\nWizardSmallImageFile=crop1.BMP<\/p>\n<p>;Icono del exe<br \/>\nSetupIconFile=lala.ico<br \/>\nAppCopyright=k-rlitos.com<\/p>\n<p>;Licencias seg\u00fan el idioma<br \/>\n[Languages]<br \/>\nName: english; MessagesFile: compiler:Default.isl; LicenseFile: C:\\termofuse.rtf<br \/>\nName: brazilianportuguese; MessagesFile: compiler:Languages\\BrazilianPortuguese.isl; LicenseFile: C:\\TermOfUseBr.rtf<br \/>\nName: portuguese; MessagesFile: compiler:Languages\\Portuguese.isl; LicenseFile: C:\\TermOfUseBr.rtf<br \/>\nName: spanish; MessagesFile: compiler:Languages\\Spanish.isl; LicenseFile: C:\\terminosdeuso.rtf<\/p>\n<p>;Idiomas de instalaci\u00f3n que Inno Setup mostrar\u00e1 al inicio<\/p>\n<p>Name: chs; MessagesFile: compiler:Languages\\ChineseSimp.isl<br \/>\nName: cht; MessagesFile: compiler:Languages\\ChineseTrad.isl<br \/>\nName: fr; MessagesFile: compiler:Languages\\French.isl<br \/>\nName: ja; MessagesFile: compiler:Languages\\Japanese.isl<br \/>\nName: ru; MessagesFile: compiler:Languages\\Russian.isl<br \/>\nName: de; MessagesFile: compiler:Languages\\German.isl<br \/>\nName: it; MessagesFile: compiler:Languages\\Italian.isl<br \/>\nName: ko; MessagesFile: compiler:Languages\\Korean.isl<\/p>\n<p>[Files]<br \/>\n;como REMPLAZAR se cambiar\u00e1, tomar\u00e1 el nombre del subdirectorio tomando archivos y carpetas instalandolas en {win} = windows, Resources, Themes, Ignorando versiones (dejalo como est\u00e1)<br \/>\nSource: REMPLAZAR\\*; DestDir: {win}\\Resources\\Themes; Flags: ignoreversion recursesubdirs createallsubdirs<br \/>\n; NOTE: Don&#8217;t use \u00abFlags: ignoreversion\u00bb on any shared system files<\/p>\n<p>;Accesos directos, si tu archivo THEME coincide con REMPLAZAR, dejalo tal cual, pero si no tiene el mismo nombre, pon el nombre del archivo en REMPLAZAR de la secci\u00f3n Filename. La de Name dejalo como est\u00e1.<br \/>\n[Icons]<br \/>\n;Shortcut of .theme files, put all them<br \/>\nName: {group}\\REMPLAZAR\\REMPLAZAR; Filename: {win}\\Resources\\Themes\\REMPLAZAR.Theme<\/p>\n<p>;Desinstalador, dejalo como est\u00e1<br \/>\n;Shortcut of uninstall<br \/>\nName: {group}\\REMPLAZAR\\{cm:UninstallProgram,Themes}; Filename: {uninstallexe}<\/p>\n<p>;si deseas que el tema se instale al finalizar el instalador quita el ; inicial de esta linea<br \/>\n[Run]<br \/>\n;Filename: \u00ab{win}\\system32\\rundll32.exe\u00bb; Parameters: \u00ab{win}\\system32\\shell32.dll,Control_RunDLL {win}\\system32\\desk.cpl desk,@Themes \/Action:OpenTheme \/file:\u00bb{win}\\Resources\\Themes\\REMPLAZAR.Theme\u00bb\u00bb ;Description: \u00ab{cm:LaunchProgram,Apply Theme}\u00bb; Flags: nowait postinstall skipifsilent<\/p><\/blockquote>\n<p>espero que no haya sido muy enredado, ya que es bastante complejo, pero una vez que aprendes, en 2 mintos tienes el instalador listo y corriendo.<\/p>\n<p><a href=\"http:\/\/k-rlitos.com\/mic\/base.iss\" target=\"_blank\">http:\/\/k-rlitos.com\/mic\/base.iss<\/a><\/p>\n<p>Si te da problemas este script, elimina el idioma japones, chino y coreano.<\/p>\n<p>[\/spoiler]<\/p>\n<h2>Ejemplo Inno Setup para Logons<\/h2>\n<p>[spoiler]<\/p>\n<p>Explicar\u00e9 el orden de las carpetas:<\/p>\n<p>Primero tenemos la carpeta principal, en donde est\u00e1 el archivo de instalaci\u00f3n, las im\u00e1genes de prueba, las im\u00e1genes del instalador, iconos, etc, todos los archivos necesarios para crear el instalador.<\/p>\n<p><a href=\"http:\/\/k-rlitos.com\/blog\/wp-content\/uploads\/2009\/06\/1.JPG\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-1726\" title=\"1\" src=\"http:\/\/k-rlitos.com\/blog\/wp-content\/uploads\/2009\/06\/1-300x225.jpg\" alt=\"1\" width=\"300\" height=\"225\" srcset=\"https:\/\/k-rlitos.com\/blog\/wp-content\/uploads\/2009\/06\/1-300x225.jpg 300w, https:\/\/k-rlitos.com\/blog\/wp-content\/uploads\/2009\/06\/1.JPG 800w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>La segunda carpeta es donde tendremos las subcarpetas de cada logon.<\/p>\n<p><a href=\"http:\/\/k-rlitos.com\/blog\/wp-content\/uploads\/2009\/06\/2.JPG\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-1727\" title=\"2\" src=\"http:\/\/k-rlitos.com\/blog\/wp-content\/uploads\/2009\/06\/2-300x225.jpg\" alt=\"2\" width=\"300\" height=\"225\" srcset=\"https:\/\/k-rlitos.com\/blog\/wp-content\/uploads\/2009\/06\/2-300x225.jpg 300w, https:\/\/k-rlitos.com\/blog\/wp-content\/uploads\/2009\/06\/2.JPG 800w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>Las subcarpetas siguientes tienen los logons mas su imagen de muestra, te recuerdo que logon loader utiliza la imagen mas cercana como imagen de muestra.<\/p>\n<p><a href=\"http:\/\/k-rlitos.com\/blog\/wp-content\/uploads\/2009\/06\/3.JPG\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-1728\" title=\"3\" src=\"http:\/\/k-rlitos.com\/blog\/wp-content\/uploads\/2009\/06\/3-300x225.jpg\" alt=\"3\" width=\"300\" height=\"225\" srcset=\"https:\/\/k-rlitos.com\/blog\/wp-content\/uploads\/2009\/06\/3-300x225.jpg 300w, https:\/\/k-rlitos.com\/blog\/wp-content\/uploads\/2009\/06\/3.JPG 800w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>Los campos REMPLAZAR se remplaza por el nombre de la subcarpeta, esto lo haces en \u00abEdit-Replace\u00bb, ejemplo<\/p>\n<p>En el caso anterior simplemente reemplazo REMPLAZAR por \u00abHatsune Miku\u00bb y autom\u00e1ticamente me tomara la carpeta \u00abHatsune Miku\u00bb de segundo orden, la primera Hatsune Miku es donde guardo el archivo instalador, icono, y screenshots, la subcarpeta tiene todas las subcarpetas de Logons.<\/p>\n<p>En otras palabras La primera carpeta solo tiene el nombre Hatsune Miku para mantener un orden<\/p>\n<p>La segunda Hatsune es la fundamental, la pimera puede tener cualquier nombre, pero esta tiene que ser el que va a remplazar REMPLAZAR<\/p>\n<p>Las de tercer orden pueden ser como uno quiera, solo tienes que recordar que el logon tiene que ir acompa\u00f1ado por solo 1 imagen de prueba por carpeta.<\/p>\n<p>Ahora nuestro script:<\/p>\n<blockquote><p>[Setup]<\/p><\/blockquote>\n<blockquote><p>;Aca se pone la Id que se generar\u00e1 para cada instalador \u00abtools-Generate GUID\u00bb<\/p><\/blockquote>\n<blockquote><p>AppId={<\/p><\/blockquote>\n<blockquote><p>\n;Nombre de la aplicaci\u00f3n, se utilizar\u00e1 este nombre para el acceso directo<\/p><\/blockquote>\n<blockquote><p>AppName=Windows XP Logon<br \/>\nAppVerName=REMPLAZAR<br \/>\nAppPublisher=k-rlitos.com<br \/>\nAppPublisherURL=http:\/\/www.k-rlitos.com\/<br \/>\nAppSupportURL=http:\/\/www.k-rlitos.com\/<br \/>\nAppUpdatesURL=http:\/\/www.k-rlitos.com\/<br \/>\nDisableDirPage=yes<br \/>\nOutputBaseFilename=[Logon XP] REMPLAZAR<br \/>\nCompression=lzma<br \/>\nSolidCompression=yes<br \/>\n;[k-rlitos values]<\/p><\/blockquote>\n<blockquote><p>;Directorio en donde se guardar\u00e1 el desinstalador {pf} = Program Files (Archivos de programa)<\/p><\/blockquote>\n<blockquote><p>DefaultDirName={pf}\\k-rlitos.com\\xp Logon\\REMPLAZAR<\/p><\/blockquote>\n<blockquote><p>;Dejamos el grupo como Windows XP Theme para mantener el orden de personalizacion<\/p><\/blockquote>\n<blockquote><p>DefaultGroupName=Windows XP Theme<br \/>\nOutputDir=.<br \/>\n;Dont move! Ac\u00e1 se define que solo es para windows XP<br \/>\nMinVersion= 5.01,5.01<br \/>\nOnlyBelowVersion= 6.0,6.0<br \/>\nPrivilegesRequired=admin<\/p><\/blockquote>\n<blockquote><p>;Tu licencia<\/p><\/blockquote>\n<blockquote><p>LicenseFile=D:\\termofuseExe.rtf<\/p><\/blockquote>\n<blockquote><p>;Imagen lateral (164&#215;314)<\/p><\/blockquote>\n<blockquote><p>WizardImageFile=crop2.BMP<\/p><\/blockquote>\n<blockquote><p>;imagen superior derecha (50&#215;50)<\/p><\/blockquote>\n<blockquote><p>WizardSmallImageFile=crop1.BMP<\/p><\/blockquote>\n<blockquote><p>;Icono del exe<\/p><\/blockquote>\n<blockquote><p>SetupIconFile=lala.ico<br \/>\nAppCopyright=k-rlitos.com<\/p><\/blockquote>\n<blockquote><p>;Licencias seg\u00fan el idioma, si solo tienes 1 archivo de licencias la pones en LicenseFile (en la linea que est\u00e1 arriba) y borras estas de ac\u00e1 abajo.<\/p><\/blockquote>\n<blockquote><p>[Languages]<br \/>\nName: english; MessagesFile: compiler:Default.isl; LicenseFile: D:\\termofuseExe.rtf<br \/>\nName: brazilianportuguese; MessagesFile: compiler:Languages\\BrazilianPortuguese.isl; LicenseFile: D:\\TermOfUseBrExe.rtf<br \/>\nName: portuguese; MessagesFile: compiler:Languages\\Portuguese.isl; LicenseFile: D:\\TermOfUseBrExe.rtf<br \/>\nName: spanish; MessagesFile: compiler:Languages\\Spanish.isl; LicenseFile: D:\\terminosdeusoExe.rtf<\/p>\n<p>;Idiomas de instalaci\u00f3n que Inno Setup mostrar\u00e1 al inicio<br \/>\nName: chs; MessagesFile: compiler:Languages\\ChineseSimp.isl<br \/>\nName: cht; MessagesFile: compiler:Languages\\ChineseTrad.isl<br \/>\nName: fr; MessagesFile: compiler:Languages\\French.isl<br \/>\nName: ja; MessagesFile: compiler:Languages\\Japanese.isl<br \/>\nName: ru; MessagesFile: compiler:Languages\\Russian.isl<br \/>\nName: de; MessagesFile: compiler:Languages\\German.isl<br \/>\nName: it; MessagesFile: compiler:Languages\\Italian.isl<br \/>\nName: ko; MessagesFile: compiler:Languages\\Korean.isl<\/p>\n<p>[Files]<\/p><\/blockquote>\n<blockquote><p>;Ac\u00e1 se remplazar\u00e1 la ruta por la carpeta de segudo orden y el * define que ser\u00e1 todo<br \/>\nSource: REMPLAZAR\\*; DestDir: {win}\\Resources\\Logon; Flags: ignoreversion recursesubdirs createallsubdirs<\/p>\n<p>[Icons]<br \/>\n;Shortcut of uninstall<br \/>\nName: {group}\\Logons\\REMPLAZAR\\{cm:UninstallProgram,Logon}; Filename: {uninstallexe}<\/p><\/blockquote>\n<p>espero que no haya sido muy enredado, ya que es bastante complejo, pero una vez que aprendes, en 2 mintos tienes el instalador listo y corriendo.<\/p>\n<p><a href=\"http:\/\/k-rlitos.com\/mic\/baselogon.iss\">http:\/\/k-rlitos.com\/mic\/baselogon.iss<\/a><\/p>\n<p>Si te da problemas este script, elimina el idioma japones, chino y coreano.<\/p>\n<p>[\/spoiler]<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Lo primero que necesitas es el programa que crea el instalador, se llama INNO SETUP, y para hacerlo mas f\u00e1cil usamos Inno Script Generator, el cual nos permite crear script de una forma gr\u00e1fica, con conceptos b\u00e1sicos y avanzados. Tambi\u00e9n existe una herramienta llamada ISFD que nos permite crear pantallas personalizadas, pero la web oficial [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[11,37],"tags":[],"class_list":["post-1611","post","type-post","status-publish","format-standard","hentry","category-informatica","category-tutorial"],"_links":{"self":[{"href":"https:\/\/k-rlitos.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/1611","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/k-rlitos.com\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/k-rlitos.com\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/k-rlitos.com\/blog\/index.php?rest_route=\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/k-rlitos.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1611"}],"version-history":[{"count":0,"href":"https:\/\/k-rlitos.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/1611\/revisions"}],"wp:attachment":[{"href":"https:\/\/k-rlitos.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1611"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/k-rlitos.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1611"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/k-rlitos.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1611"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}