Forseti Posted April 5, 2013 Posted April 5, 2013 (edited) SFX Installer for Clover ! If you only use it for yourself, you can just copy the files into program installation directory. And run:regsvr32 /s "c:\Program Files\Clover\TabHelper32.dll"regsvr32 /s "c:\Program Files\Clover\TabHelper64.dll" I think you can write a bat file to do it in one minute. UninstallRun regsvr32 /u /s "c:\Program Files\Clover\TabHelper32.dll"regsvr32 /u /s "c:\Program Files\Clover\TabHelper64.dll" who created an installer, Inno or MSI? :help: ;InnoSetupVersion=5.5.0[Setup]AppName=CloverAppVerName=CloverAppVersion=3.0.258.0AppPublisher=EJIE TechnologyDefaultDirName={pf}\CloverDefaultGroupName=CloverUninstallDisplayIcon={app}\clover.exeOutputBaseFilename=SetupCompression=lzma2/MaxArchitecturesInstallIn64BitMode=x64DisableProgramGroupPage=yesWizardImageFile=embedded\WizModernImage-IS.bmpWizardSmallImageFile=embedded\WizModernSmallImage-IS.bmpAppCopyright=© 2013 EJIE Technology[Files]Source: "{app}\clover.exe"; DestDir: "{app}"; MinVersion: 0.0,5.0; Flags: ignoreversionSource: "{app}\clover.dll"; DestDir: "{app}\Readme"; MinVersion: 0.0,5.0; Flags: ignoreversionSource: "{app}\TabHelper32.dll"; DestDir: "{app}"; MinVersion: 0.0,5.0; Flags: ignoreversionSource: "{app}\TabHelper64.dll"; DestDir: "{app}"; MinVersion: 0.0,5.0; Flags: ignoreversionSource: "{app}\locales\de.pak"; DestDir: "{app}\locales"; MinVersion: 0.0,5.0; Flags: ignoreversionSource: "{app}\locales\en-US.pak"; DestDir: "{app}\locales"; MinVersion: 0.0,5.0; Flags: ignoreversion[Run]Filename: "{win}\System32\regsvr32.exe"; Parameters: "/s"; WorkingDir: "{app}\TabHelper32.dll"; MinVersion: 0.0,5.0;Filename: "{win}\System32\regsvr32.exe"; Parameters: "/s"; WorkingDir: "{app}\TabHelper64.dll"; MinVersion: 0.0,5.0;[UninstallRun]Filename: "{win}\System32\regsvr32.exe"; Parameters: "/u /s"; WorkingDir: "{app}\TabHelper32.dll"; MinVersion: 0.0,5.0;Filename: "{win}\System32\regsvr32.exe"; Parameters: "/u /s"; WorkingDir: "{app}\TabHelper64.dll"; MinVersion: 0.0,5.0;[Icons]Name: "{group}\Clover"; Filename: "{app}\clover.exe"; MinVersion: 0.0,5.0;[CustomMessages]default.NameAndVersion=%1 version %2default.AdditionalIcons=Additional icons:default.UninstallProgram=Uninstall %1default.LaunchProgram=Launch %1default.AssocFileExtension=&Associate %1 with the %2 file extensiondefault.AssocingFileExtension=Associating %1 with the %2 file extension...[Languages];These files are stubs; To achieve better results after recompilation, use the real language filesName: "default"; MessagesFile: "embedded\default.isl";Please do it right! Edited April 10, 2013 by Forseti Quote
ricktendo Posted April 5, 2013 Posted April 5, 2013 Try this (make sure you have the latest 7zip sfx to be sure it supports "Delete");!@Install@!UTF-8! RunProgram="Setup.exe /S /NCRC /D=C:\Progra~1\Clover" RunProgram="hidcon:cmd /c taskkill /f /im clover.exe /t" Delete="%CommonDesktop%\\Clover.lnk" GUIMode="2" ;!@InstallEnd@! Quote
Forseti Posted April 5, 2013 Author Posted April 5, 2013 Try this (make sure you have the latest 7zip sfx to be sure it supports "Delete") i have Version 1.5.0.2712! Delete="%CommonDesktop%\\Clover.lnk" does not work! Quote
ricktendo Posted April 5, 2013 Posted April 5, 2013 Change %CommonDesktop% to %UserDesktop% If that does not work make sure you have the correct name for the LNK Note: %CommonDesktop% and %UserDesktop% are variables that ONLY work in config.txt with 7zip sfx, they do NOT work in Windows Quote
myselfidem Posted April 8, 2013 Posted April 8, 2013 (edited) *Edit: Tested SFX Modified Module 1.5 to remove others shortcuts on my computer an works fine for me! You can try: RunProgram="hidcon:cmd /c del \"%PUBLIC%\\Desktop\\Clover.lnk\"" Edited April 8, 2013 by myselfidem Quote
Geej Posted April 8, 2013 Posted April 8, 2013 Nice program... Ricktendo Delete="%CommonDesktop%\\Clover.lnk" works (at least on win7 x86 that I tested, but the taskkill fail to kill process. End up still have clover launched) Why not made a request to have an inf addon?Much smaller size & less fuss. (Don't have to taskkill or manually remove desktop shortcut) I have already made myself a Win7x86 .WA addon using inf.If it is for x86 win7, I can upload it for you.If it is for x64, I suggest you put a request in wtk addon request forum. Quote
ricktendo Posted April 8, 2013 Posted April 8, 2013 I dont understand why you guys use INF files in Win7 addons to copy files when all you need to do is dump them into the imported image and add the reg (this would take zero install time) I would like to make a daemon tools addon like this but I dont know how to tell wintk to place the files in program files on 32 bit images and program files (x86) for 64 bit images (same with .REG) Quote
Geej Posted April 8, 2013 Posted April 8, 2013 Hi rick,On win7 WTK integration, I use inf for registering dll, making registry and perfrom RunPostSetupCommands if necessary.I make use of WTK integration (for filecopy operation) to reduce installation time. Hence my .WA addon does not perform filecopy.I use inf for registry entry as using .reg format doesn't really make use of environment variable.They are basically hardcode to'C:\Program files' path which I personally do not like. I prefer %programfiles% type of registry entries, which inf offers. I am not familiar with daemon tools as I did not use this tool.But to tell WTK where to place the file, you need to set WTK- Addon Maker tab 'Architecture' info correctly.Choose 'x86' for program that goes to %programfiles% in x86 and when slipstream in x64, it will goes to %programfiles(x86)% for x64 system.Note: can't do it for registry files type in Dual addon type. Have to create x64 only or x86 only type in this case. You can take a look at Everything Search Engine for actual concept, including registry entries for both system. I do make use of WTK Addon maker to make the .WA addon but Reaper don't use this method. Perhaps he uses some batch/7-Zip method.To execute your inf, use RunOnce key. Hence the .Wa addon need to includes a .reg file to add an entry to RunOnce.To create a Runonce key, use batch script. See Everything Search tool post 11 Frankly, this is just my way of doing things. If my way does not fit your needs, better ask Lego for exact guides. Cheers Quote
ricktendo Posted April 8, 2013 Posted April 8, 2013 Perfect...Now I understand why you need INF, to get the shortcuts and path right Quote
Geej Posted April 9, 2013 Posted April 9, 2013 yup! (I forgot mentioning ProfileItems) Just a little info I found.Because WTK adds it own RunOnce key to run silent installer '!1Wintoolkit', silent Installers always gets executed first, then follow by inf.I thought by modifying appname (such as !0 infront ) like !0WinTooltest, my inf will install earlier than WTK silent Installer but it still WTK silent installer get to launch first. Quote
ricktendo Posted April 9, 2013 Posted April 9, 2013 So adding !0 is needed or it is useless? Can you do me a favor and look at my addon (maybe test it if you can) see if it is done correctly? http://www.mediafire.com/?ok87o3emwa13c1z MD5: bdea9fea5348516d47c6b814b0737c55 I don't have any live install sections only DefaultInstall ones, I use INTL Strings sections so the program language should be set automatically and I also use Cleanup=1 to delete the INF after its finished...that reminds me do you know if a PNF with the same name of the INF is created? (I could set it to delete also) BTW for your rundll32 command you don't have to specify a directory if the INF is in the %WinDir%\inf folder, it assumes its in there by default Quote
Geej Posted April 9, 2013 Posted April 9, 2013 !0 seems useless. (Will try to test again in this coming test) Visual look at your inf looks alright. I will test drive your .WA addon.But now at work... Will let you know when done.I checked my own exising inf addon. PNF with same filename not created. So no need to cleanup. Thanks for the rundll32 command tips. Seems simpler. Probalbly I will use it if addon test is okay. Quote
Geej Posted April 10, 2013 Posted April 10, 2013 Test drive DTLite4.47.1.333_Intl.WA, works fine!(Tested on win 7 ENU x86 VM only with WTK 1.4.1.22 on XP host)Shows the initial RunOnce entry during setup 'Completing installation...'I observed that !1WinToolkit is not at the top of the entry. So logically, !0DTLite will execute first during RunOnce.I had it pause at RunOnce stage.At the early stage of WinToolkit Installer running,I open regedit again to check the RO entries.!1WinToolkit is still not the 1st entry, meaning !0DFTLite would have already installed.So I browse to HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstalland verify whether 'DAEMON Tools Lite' uninstall entry exists.As you can see above, no 'DAEMON Tools Lite' entry. Meaning your inf is not installed at this point while WTK silent installer is running.So is Everything Search Tool. Reaper's Notepad2 uninstall entry is also not there.Hence WinToolkit installer will install all silent installer first, no matter how we tweak the key name.This screenshot shows DTLite.inf cleaned up!I was initially taken aback when the program says License activation is required.I thought need to provide some sort of serial or whatever. Click 'Continue' shown no need to enter serial.Program is self-activated if user select 'Lite'. ha haUninstall the program from Add/Remove panel works fine.It would be useful if you also includes the EstimatedSize detail so that it 'looks complete' cosmetically in Add/Remove panel.It is blank now.HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\DAEMON Tools Lite","EstimatedSize",0x10001,33,6B,00,00 Cheers Quote
ricktendo Posted April 10, 2013 Posted April 10, 2013 THANKS ALLOT!!! for testing...as you can see from the tests you dont have to use %WinDir%\inf and you dont have to list a section in the RunDLL32 cmdline, it calls the DefaultInstall section by default if its your primary install section (you should test this with Install sections, I think it might work as well) One more thing it needs, how/where do I put SPTDinst*.exe and have it install the x86 for 32 bit machines and the x64 for 64 bit. I'm guessing I will have to make a SFX with x86: and x64: RunProgram's but still, how do I put a SFX installer in my DTLite addon and where do I put the command wintk should add to its silent install phase? Quote
Geej Posted April 10, 2013 Posted April 10, 2013 THANKS ALLOT!!! for testing...as you can see from the tests you dont have to use %WinDir%\inf and you dont have to list a section in the RunDLL32 cmdline, it calls the DefaultInstall section by default if its your primary install section (you should test this with Install sections, I think it might work as well)No problem. Members here also help me test in x64 environment for Eveything Search Tool when I need help.Yes Rundll32 cmdline works fine. Much simpler! Thanks for the tip again. Should work for a specific section too.Err... Regarding your 2nd question, I don't quite understand regarding SPTDinst*.exeYou mean you need to run a command using SPTDinst*.exe and then delete this SPTDinst*.exe after it?Sorry I'm not sure how this SPTDinst*.exe work so no idea at the moment.I'm merrily guessing, perhaps add this RunPostSetupCommands[DefaultInstall.NTx86]RunPostSetupCommands=SPTDinst:1[SPTDinst]cmd /c pushd %16422%\DAEMON Tools Lite & SPTDinst-x86.exe add /q[DefaultInstall.NTamd64]RunPostSetupCommands=SPTDinst64:1[SPTDinst64]cmd /c pushd %16426%\DAEMON Tools Lite & SPTDinst-x64.exe add /q Quote
Forseti Posted April 10, 2013 Author Posted April 10, 2013 (edited) .... Edited April 10, 2013 by Forseti Quote
ricktendo Posted April 10, 2013 Posted April 10, 2013 That should work as well...I dont think it needs :1, it is only added if you need to hide a cmd prompt Quote
ricktendo Posted April 10, 2013 Posted April 10, 2013 @Forseti, there is a regserver flag that will register the DLLs, and I also added a Check: to only copy the file if it detects you are on x64 [Setup]AppName=CloverAppVerName=CloverAppVersion=3.0.258.0AppPublisher=EJIE TechnologyDefaultDirName={pf}\CloverDefaultGroupName=CloverUninstallDisplayIcon={app}\clover.exeOutputBaseFilename=SetupCompression=lzma2/MaxArchitecturesInstallIn64BitMode=x64DisableProgramGroupPage=yesWizardImageFile=embedded\WizModernImage-IS.bmpWizardSmallImageFile=embedded\WizModernSmallImage-IS.bmpAppCopyright=© 2013 EJIE Technology[Files]Source: "{app}\clover.exe"; DestDir: "{app}"; Flags: ignoreversionSource: "{app}\clover.dll"; DestDir: "{app}\Readme"; Flags: ignoreversionSource: "{app}\TabHelper32.dll"; DestDir: "{app}"; Flags: regserver ignoreversionSource: "{app}\TabHelper64.dll"; DestDir: "{app}"; Check: "IsWin64"; Flags: regserver ignoreversionSource: "{app}\locales\de.pak"; DestDir: "{app}\locales"; Flags: ignoreversionSource: "{app}\locales\en-US.pak"; DestDir: "{app}\locales"; Flags: ignoreversion[Icons]Name: "{group}\Clover"; Filename: "{app}\clover.exe";[CustomMessages]default.NameAndVersion=%1 version %2default.AdditionalIcons=Additional icons:default.UninstallProgram=Uninstall %1default.LaunchProgram=Launch %1default.AssocFileExtension=&Associate %1 with the %2 file extensiondefault.AssocingFileExtension=Associating %1 with the %2 file extension...[Languages];These files are stubs; To achieve better results after recompilation, use the real language filesName: "default"; MessagesFile: "embedded\default.isl"; Forseti 1 Quote
Forseti Posted April 11, 2013 Author Posted April 11, 2013 (edited) many thanks ricardo, works great! (Flags: regserver) :dancing: finished Inno script for Clover (x86 & x64) :[Setup]AppName=CloverAppVerName=CloverAppVersion=3.0.258.0AppPublisher=EJIE TechnologyDefaultDirName={pf}\CloverDefaultGroupName=CloverUninstallDisplayIcon={app}\clover.exeOutputBaseFilename=SetupCompression=lzma2/MaxArchitecturesInstallIn64BitMode=x64DisableProgramGroupPage=yesWizardImageFile=embedded\WizModernImage-IS.bmpWizardSmallImageFile=embedded\WizModernSmallImage-IS.bmpAppCopyright=© 2013 EJIE Technology[Files]Source: "{app}\clover.exe"; DestDir: "{app}"; Flags: ignoreversionSource: "{app}\clover.dll"; DestDir: "{app}"; Flags: ignoreversionSource: "{app}\TabHelper32.dll"; DestDir: "{app}"; Check: "not IsWin64"; Flags: regserver ignoreversionSource: "{app}\TabHelper64.dll"; DestDir: "{app}"; Check: "IsWin64"; Flags: regserver ignoreversionSource: "{app}\locales\de.pak"; DestDir: "{app}\locales"; Flags: ignoreversionSource: "{app}\locales\en-US.pak"; DestDir: "{app}\locales"; Flags: ignoreversion[Icons]Name: "{group}\Clover"; Filename: "{app}\clover.exe";[CustomMessages]default.NameAndVersion=%1 version %2default.AdditionalIcons=Additional icons:default.UninstallProgram=Uninstall %1default.LaunchProgram=Launch %1default.AssocFileExtension=&Associate %1 with the %2 file extensiondefault.AssocingFileExtension=Associating %1 with the %2 file extension...[Languages]; These files are stubs; To achieve better results after recompilation, use the real language filesName: "default"; MessagesFile: "embedded\default.isl"; Edited April 11, 2013 by Forseti alfreire 1 Quote
ricktendo Posted April 11, 2013 Posted April 11, 2013 I think you can remove the "MinVersion: 0.0,5.0;" from the icons section Forseti 1 Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.