Topic: NEW PROJECT UTILITY PLUGIN - SFX Constructor 4.5  (Read 4890 times)

NEW PROJECT UTILITY PLUGIN - SFX Constructor 4.5
« on: May 24, 2018, 04:00:21 PM »

bob.omb

  • Code Baker
  • Grand Chef
  • *****
  • Location: USA
  • Date Registered: Jul 2017
  • Posts: 1261
**Note - I had not seen this in the ChrisPE thread before posting but it seems gbrao and alacran :wink: had posted a screenshot of this program there before I uploaded this... So definitely credit to them for bringing this to TheOven's attention... And thanks gbrao!

**Updated plugin to v6 Final - Plugin is updated on project server (12/09/18)

Size is always an issue with PE.  The smaller the better.  Here is a utility for ALL projects to help us achieve that goal. (Finally translated into English and other languages - This has been around a while)

SFX Constructor v4.5 by CryptoNick / Joker-2013 (and I see a thanks to Nikzzzz in there too)  :thumbsup:

ila_rendered

ila_rendered

This is meant to be used before using XPE plugin creator or PCPacked (Or any other method you use to create plugins).  You can compress your entire application folder to a single SFX EXE.  Afterwards, when you create your plugin, you need only point to that one file.  This SFX EXE will automatically extract to the "%Temp%\ProgramFolder" folder and run when launched, and automatically clean itself up when closed.  There are many options to change... including the location of the temp extract folder, scriptability, running exe's from subfolders, etc, etc.... 

Happy Building!   :great:

Sauce: https://translate.google.com/translate?hl=en&sl=auto&tl=en&u=https%3A%2F%2Fusbtor.ru%2Fviewtopic.php%3Fp%3D58126%2358126

Authors Site - Translated[eng]:https://translate.google.com/translate?sl=auto&tl=en&js=y&prev=_t&hl=en&ie=UTF-8&u=http%3A%2F%2Fusbtor.ru%2Fviewtopic.php%3Ft%3D798&edit-text=&act=url
« Last Edit: December 09, 2018, 04:49:31 PM by bob.omb »

Re: NEW PROJECT UTILITY PLUGIN - SFX Constructor
« Reply #1 on: May 25, 2018, 12:52:35 AM »

ChrisR

  • XPE Baker
  • Grand Chef
  • *****
  • Date Registered: Mar 2011
  • Posts: 3494
Interesting  :w00t:
Thanks to our Russian friends and thanks for letting us know for this one translated :thumbsup:

Re: NEW PROJECT UTILITY PLUGIN - SFX Constructor
« Reply #2 on: May 25, 2018, 10:39:56 AM »

APT

  • Grand Chef
  • *****
  • winpe enthusiast
  • Location: UK
  • Date Registered: Nov 2012
  • Posts: 1150
Hi bob.omb

trying this in Win10XPE gives me an error using launch button of
Unrecognized command: [Call,Start,,%ProgramEXE%,,%Tools%\%ProgramFolder%]

removing Call, works as expected   ( deprecated command i believe )

regards APT
« Last Edit: May 25, 2018, 11:43:48 AM by APT »

Re: NEW PROJECT UTILITY PLUGIN - SFX Constructor
« Reply #3 on: May 25, 2018, 01:03:39 PM »

James

  • Grand Chef
  • *****
  • Location: USA
  • Date Registered: Dec 2017
  • Posts: 2272
Quote
removing Call, works as expected   ( deprecated command i believe )

Yes with XPE (Call) is deprecated

Re: NEW PROJECT UTILITY PLUGIN - SFX Constructor
« Reply #4 on: May 25, 2018, 08:06:24 PM »

bob.omb

  • Code Baker
  • Grand Chef
  • *****
  • Location: USA
  • Date Registered: Jul 2017
  • Posts: 1261
Is there a way to have the plugin check if it is in SE or XPE so I can make it universal?

BTW as an example ShowKeyPlus.exe(Already a single exe and portable) gets shrunk from ~6mb to ~Under 1mb. And if you turn off the progress bar option the only difference in operation is ~0.5 seconds extra to open...
« Last Edit: May 25, 2018, 08:33:51 PM by bob.omb »

Re: NEW PROJECT UTILITY PLUGIN - SFX Constructor
« Reply #5 on: May 26, 2018, 12:33:47 AM »

ChrisR

  • XPE Baker
  • Grand Chef
  • *****
  • Date Registered: Mar 2011
  • Posts: 3494
Is there a way to have the plugin check if it is in SE or XPE so I can make it universal?
You can do it with: If,%ProjectName%,Equal,Win10XPE,....

Otherwise, for most plugins, it is probably better to have separate plugins and to use, as James done:
Plugin Name containing XPE: PluginName_XPE.Script - PluginName_XPE_File.Script
And inside: Type=XPEPlugin in the Main Section

Re: NEW PROJECT UTILITY PLUGIN - SFX Constructor
« Reply #6 on: May 26, 2018, 06:00:39 PM »

bob.omb

  • Code Baker
  • Grand Chef
  • *****
  • Location: USA
  • Date Registered: Jul 2017
  • Posts: 1261
Plugin updated to v2 in original post  :thumbsup:

Changes:
-Compatible with all projects(Please verify lol) fixed in v3
-Settings now stay persistent between uses.
-Press the small green play button in plugin interface to reset/refresh/re-install the utility and set everything back to the default settings

Enjoy  :great:
« Last Edit: May 27, 2018, 06:20:11 AM by bob.omb »

Re: NEW PROJECT UTILITY PLUGIN - SFX Constructor
« Reply #7 on: May 26, 2018, 08:02:40 PM »

bob.omb

  • Code Baker
  • Grand Chef
  • *****
  • Location: USA
  • Date Registered: Jul 2017
  • Posts: 1261
 :embarrassed:  ** Additional update plugin in OP ... v3 Final

Changes:
- Now compatible with all projects
- Changed plugin internal install directories depending on which project is being used to avoid settings erase during BL Exact and Secure.. (Without this you would lose all settings/saved custom scripting during BL Exact and Secure Update in SE)
« Last Edit: May 27, 2018, 06:16:19 AM by bob.omb »

Re: NEW PROJECT UTILITY PLUGIN - SFX Constructor 4.4
« Reply #8 on: June 02, 2018, 06:08:34 PM »

bob.omb

  • Code Baker
  • Grand Chef
  • *****
  • Location: USA
  • Date Registered: Jul 2017
  • Posts: 1261
Some SFX Constructor Testing Notes:

1.) Because the extraction process happens in RAM, if you use this tool on an application, it allows the USB to be unplugged when the application is open, even if it is not present in the WIM. (Previously noted)

2.) When tool is used to compress apps that need write access to run, they will work even when CD/DVD is used because the programs get extracted into memory before launching..  This allows many apps that previously would not work on CD/DVD to function.. if %temp% is set to ramdrive

3.) Any variables will be passed to the EXE.  But what if there are multiple EXE files in the folder?  To compress a folder with multiple EXE files and still be able to access all of them you simply need to point to a simple custom batch that also allows commands and variables to be passed inside the archive.. See Below..

start.cmd
Code: [Select]
@echo off
start %~dp0%*

Put the above Start.cmd inside the program folder and point the constructor to start.cmd as the main file to run, and it will create start.exe...  Then you would just type "start.exe anyexeinside anyvaribles" - You can have several shortcuts pointing to the same EXE that open different programs and any variables after the internal exe to run will get passed to those exe's as well...(Make sure to click the wrench next to the cmd file you select when creating the archive and choose "Waitall" then click apply)

4.) After you select the source folder, Registry files (.REG) can be Dragged+Dropped into the source folder field to be added to the extraction script, and will be automatically loaded when the app is run.

I figured all of this would be useful, if anyone else can point out any useful techniques or features/limitations that may not be obvious please do.. (Reg file import is in the help file but the others are not..)
« Last Edit: September 16, 2018, 03:57:08 PM by bob.omb »

Re: NEW PROJECT UTILITY PLUGIN - SFX Constructor 4.4
« Reply #9 on: June 04, 2018, 03:52:35 AM »

gbrao

  • Chef
  • ***
  • Date Registered: Sep 2011
  • Posts: 258
**NOTE - I had not seen this in the ChrisPE thread before posting but it seems gbrao had posted a screenshot of this program there before I uploaded this... So definitely credit to him for bringing this to TheOven's attention... And thanks gbrao!

Actually, I think it was alarcan who first mentioned SFX Constructor here. I can't find the orig thread.
Edit : here : http://theoven.org/index.php?topic=2417.msg26147#msg26147
« Last Edit: June 04, 2018, 04:09:07 AM by gbrao »

Re: NEW PROJECT UTILITY PLUGIN - SFX Constructor 4.4
« Reply #10 on: September 23, 2018, 06:39:29 PM »

RXTech

  • Jr. Chef
  • **
  • Date Registered: Sep 2018
  • Posts: 74
Hello guys!

i was fiddling around with many plugins and configs.
Most scripts executed fine, but some of them didn't show at runtime.
Anyway, i left this to another time and will try again according to my needs

Latest days, i was trying to reduce my project size by using the above posted excellent prgram
Hell! i didn't succeded to make my desired portable programs despite my repeated attempts!

i saw you @bob.omb doing it successfully on your wonderful project "Bob.Omb's Modified WinPE10"  :great:
So would you mind to explain what i should do to make it work for me too?

Thanks in advance!  :thumbsup:

Re: NEW PROJECT UTILITY PLUGIN - SFX Constructor 4.4
« Reply #11 on: September 25, 2018, 01:51:30 AM »

bob.omb

  • Code Baker
  • Grand Chef
  • *****
  • Location: USA
  • Date Registered: Jul 2017
  • Posts: 1261
1.) Boot into PE.

2.) Run Regshot2 and take the first snapshot with the below settings under File>Options
   Common Options Tab> Make sure check files in the specified folders is selected
   Folders Tab> Delete any folders in the list and right-click to add X:\ as a location
   .Reg Tab> Make sure to check the box for "Make modifications file Redo.reg"

Leave Regshot2 open

3.) Install any program to the Y:\

4.) Run the second snapshot with Regshot2

5.) Browse to the report location (Shown on the main screen) - Inside you will find the Redo.reg file.  You will need to prune this file of all unrelated keys.  Regshot2 captures everything that changes during the install.  There are usually many keys that are not related as the system is constantly working.  Sometimes you will get lucky though and it wont be too much.  (bags\mru  keys are a good example of unrelated keys, you will see them most of the time and they need to be removed as they are cache keys for the running system)

6.) Check the main report and look for new or changed files added to the X:\ by the installer (These will need to be collected and manually moved in later, or scripted to extract from the sfx archive.  Information for this can be found in the help file.

-----------------------------------------

7.) Use SFXConstructor to compress the folder you installed the program to. (Setting will vary depending on your preferences)
   In the source folder section at the top of the application to the right of the dropdown click the first button (Select project folder)
   Pick the folder you installed the program to.
   Click the Script button and drag your pruned Redo.reg file you created with Regshot2 and drop it into the script window (close the window when finished)
   Verify any remaining settings and click the "Create 7z SFX" button

-----------------------------------------

You can either manually place the other files that were added to the X:\ (if any) or you can script them into the SFX exe created with the tool... (instructions inside the help section (?) button)

It all gets easier with testing and time...
 
« Last Edit: September 25, 2018, 01:52:50 AM by bob.omb »

Re: NEW PROJECT UTILITY PLUGIN - SFX Constructor 4.4
« Reply #12 on: September 25, 2018, 04:41:03 PM »

RXTech

  • Jr. Chef
  • **
  • Date Registered: Sep 2018
  • Posts: 74
Thanks @bob.omb!
i'll try your method and report back...

Re: NEW PROJECT UTILITY PLUGIN - SFX Constructor 4.4
« Reply #13 on: September 25, 2018, 04:47:52 PM »

James

  • Grand Chef
  • *****
  • Location: USA
  • Date Registered: Dec 2017
  • Posts: 2272
Quote
It all gets easier with testing and time...
and a HOW-TO with pictures...

LOL
« Last Edit: September 25, 2018, 04:48:25 PM by James »

Re: NEW PROJECT UTILITY PLUGIN - SFX Constructor 4.4
« Reply #14 on: September 25, 2018, 05:24:03 PM »

bob.omb

  • Code Baker
  • Grand Chef
  • *****
  • Location: USA
  • Date Registered: Jul 2017
  • Posts: 1261
I wish I had the time, I have been working 12hr days lately, but I'll put something better together soon.  I am wasting quite a bit of the little free time I have atm looking at RS5 to get ahead of the curve as much as possible...

Re: NEW PROJECT UTILITY PLUGIN - SFX Constructor 4.4
« Reply #15 on: September 26, 2018, 09:41:55 AM »

Passie

  • Jr. Chef
  • **
  • Date Registered: Sep 2018
  • Posts: 25
Its a great tool Bob, just 1 requested function. A button to turn of compression or to only compress it lightly. I changed Advanced Systemcare by Iobit the portable 11.20 version into a 1 icon portable version instead of having the portable tool in a folder. Folder portable version 158 mb, the 1 icon version 33.9 mb. Handy that it gets that small, but ,,, it will take 10 times as long to start. So for me the compression is too much it slows down the start time of the program. So would love the option to only give it 25% of compression ending with a 100-120 mb version that starts quickly.

Unpacked version takes 5 seconds to see starting screen of the tool
Packed version takes 45 seconds before you see that start page of the tool. so 64-86 drivers loading takes loads of time when packed.

So an option like we have on winrar, Compression method; No, Good, Best, would be a great addition to the tool.  :great:
« Last Edit: September 26, 2018, 11:16:06 AM by Passie »

Re: NEW PROJECT UTILITY PLUGIN - SFX Constructor 4.4
« Reply #16 on: September 26, 2018, 02:55:19 PM »

bob.omb

  • Code Baker
  • Grand Chef
  • *****
  • Location: USA
  • Date Registered: Jul 2017
  • Posts: 1261
It is not my tool. The authors are in the description in the OP.

You can adjust compression in the following section:

ila_rendered

Re: NEW PROJECT UTILITY PLUGIN - SFX Constructor
« Reply #17 on: October 20, 2018, 04:07:13 PM »

Lancelot

  • Gena Baker
  • Grand Chef
  • *****
  • Date Registered: Sep 2010
  • Posts: 10350
Is there a way to have the plugin check if it is in SE or XPE so I can make it universal?
I feel better way to simplify things:

Code: [Select]
[Launch_Program]
IniRead,%ProjectDir%\script.project,Main,Type,%t%
If,ExistSection,%ScriptFile%,Launch_%t%,Run,%ScriptFile%,Launch_%t%
If,Not,ExistSection,%ScriptFile%,Launch_%t%,Halt,"Plugin do not support Type=%t% Project"

[Launch_Plugin]

[Launch_XPEPlugin]


This way your plugin will support future ChrisR projects with Type=XPEPlugin with different %ProjectName% :thumbsup:

And if there will be another project without Type=Plugin or Type=XPEPlugin,
 your plugin will not harm anything following an halt, giving an open gate to improve plugin easily in future.

:turtle:

Re: NEW PROJECT UTILITY PLUGIN - SFX Constructor 4.4
« Reply #18 on: October 20, 2018, 04:21:40 PM »

bob.omb

  • Code Baker
  • Grand Chef
  • *****
  • Location: USA
  • Date Registered: Jul 2017
  • Posts: 1261
XPE Has its own exclusive plugin for this..  This was written before theirs, I was trying to make a universal utility,  I may remove the XPE code from this one altogether, it was a good idea but no longer needed..

The green play button [process] was used to reset all settings to default by erasing the program from the tools section and re-extracting from the plugin...  Since we won't be using the green play button anymore I can most likely reduce the size to something more accommodating for the project server..
« Last Edit: October 20, 2018, 04:24:56 PM by bob.omb »

Re: NEW PROJECT UTILITY PLUGIN - SFX Constructor 4.4
« Reply #19 on: October 20, 2018, 04:42:37 PM »

Lancelot

  • Gena Baker
  • Grand Chef
  • *****
  • Date Registered: Sep 2010
  • Posts: 10350
XPE Has its own exclusive plugin for this..  This was written before theirs, I was trying to make a universal utility,  I may remove the XPE code from this one altogether, it was a good idea but no longer needed..
I am fine with XPE code on the plugin  :thumbsup:
I only recommend a better way for your universal idea.  :thumbsup:

Well I have to use same idea for a couple of plugins anyway.

The green play button [process] was used to reset all settings to default by erasing the program from the tools section and re-extracting from the plugin...  Since we won't be using the green play button anymore I can most likely reduce the size to something more accommodating for the project server..

Keep the codes.
Better put a button on plugin interface "Default" pointing to [Process_Default] section to revert back to default settings.

ex:

Code: [Select]
[Process]
Echo,"Repairing Utility..."
-->
Code: [Select]
[Process]
Echo,"Nothing to process here"

[Process_Default]
Echo,"Repairing Utility..."
Default buttons are known things on some plugins (ex: Images Configuration, XPE script.project)
 :wink:

 

Powered by EzPortal