Topic: WinXShell - a portable shell and zero dependencies for boot.wim,winre.wim  (Read 65215 times)

Re: WinXShell - a portable shell and zero dependencies for boot.wim,winre.wim
« Reply #40 on: December 30, 2017, 05:14:58 PM »

slore

  • WimBuilder
  • Sr. Chef
  • ****
  • Date Registered: Jun 2016
  • Posts: 664
Hi, bob.omb
Quote
I can keep working on this if you'd like but this is as much as I will do without explicit approval because I've been heavily posting and I'm not trying to hijack your thread, this is your hard work not mine.

Don't mind it. I like some one test it and give me some feedback, ideas.
Thanks for that you share what you have done.  :thumbsup:

but I must say, don't take you too much time on it, because it is not full functional.
I'm afraid that you take much time but no good effort will get you bad mood.  :sad:

I real hope I can come back to be a freshman again, so I can have much time to finish the project, implement all the request features.
but the reality is true. I don't want the "FACE THE PC" things to take the MOST hours in my one day, or it tokes the others' .

The New Year is coming, I will take a sort rest for developing it.
I will keep follow this thread, and reply,.

Regards.


~Happy new year for everybody~ :lol: :grin: :tongue: :smile:

Re: WinXShell - a portable shell and zero dependencies for boot.wim,winre.wim
« Reply #41 on: December 30, 2017, 05:25:06 PM »

bob.omb

  • Code Baker
  • Grand Chef
  • *****
  • Location: USA
  • Date Registered: Jul 2017
  • Posts: 1261
Happy New Years to you too!

I would never be in bad mood with you.  You are appreciated.

I WILL be switching once the wired icon is done, I promise you that.  I am a believer. :tongue: No matter when its finished, take your time.  On that day, it will be my primary  :grin:

Anytime you update I will come test and tweak for you.

Until then, best wishes..And if I come up with any new ideas, I will let you know  :thumbsup:
« Last Edit: December 30, 2017, 05:44:03 PM by bob.omb »

Re: WinXShell - a portable shell and zero dependencies for boot.wim,winre.wim
« Reply #42 on: December 30, 2017, 07:00:52 PM »

slore

  • WimBuilder
  • Sr. Chef
  • ****
  • Date Registered: Jun 2016
  • Posts: 664
Hi, bob.omb and teik

before go to bed, now, reply some question about the UI.

Quote
I just tried and I loved the new configuration. It is not transparent, I imagine that the code has to be in RGB so that e could put the transparency.

It can be transparent with just ONE line code.[pUIWindow->SetTrans(230);]
I don't think PE need it, and my Windows is not set as transparent,
so I didn't export a configuration for that.
YES, when got ransparent effort, the color[ARGB]'s A will cause some effort, but I suggest just leave it to be 255(0xFF).

I tested it with boot.wim, It seem work fine.(I can release a beta version for just this request, right now if you like it strongly.)
The interface will be main.jcfg <- "trans":value(0~255, default:255)

ila_rendered

(EDITED)
release beta for it,  *TIMEZONE* will make the reply later(~SLEEPING~ZzZz~).
* WinXShell_x64_2.7.1_trans.zip (855.61 kB - downloaded 138 times.)
* WinXShell_x86_2.7.1_trans.zip (731.74 kB - downloaded 145 times.)

Quote
consider a ~15 second timer after apply is clicked and resolution is changed
Maybe make window content dynamic? Or make window scrollable when resized, but defaults to regular size when opened?

way 1:as you said --- scrollable

main.xml
```
Code: [Select]
21:        <VerticalLayout>
22:            <HorizontalLayout height="188" bkcolor="#FFF2F2F2">

46:            <HorizontalLayout padding="0,20,0,0">
47:                <Control />
48:                <Button name="applybtn" text="%{Apply}" shortcut="A" showhtml="true" style="indigoBtn" />


add "scrollbar" property, and set the "height" property for the apply/cancel button.
```
21:<VerticalLayout vscrollbar="true">
46:<HorizontalLayout height="40" padding="0,20,0,0">
```


way 2:add shortcut "alt+A" for [Apply]

main.xml <- add "shortcut" property
```
48:                <Button name="applybtn" text="%{Apply}" shortcut="A" showhtml="true" style="indigoBtn" />
49:                <Button name="cancelbtn" text="%{Cancel}" shortcut="C" showhtml="true" style="indigoBtn" padding="0,0,10,0" />

```
Ooh, you may notice the [showhtml="true"], with this property, TEXT can use some crude label,for BOLD, underline

ila_rendered

EDITED(add the instruction for the crude HTML format):
Code: [Select]
HTML formatted text
The use of tag function need to control the showhtml property is set to true
b: indicates whether the font is bold or not;
c: indicates the color used by the font;
f: said the use of global font number, starting from 0;
i: whether to use italic or chart path;
a: hyperlink function
n: said line feed;
p: a passage
r: indicates that the content does not apply Label syntax function;
s: said the content is selected;
u: indicates that the content is underlined;
x: represents moving x pixel values ​​from there;
y: indicates that the line fixed position y pixel value;
Examples are as follows:
    <b> text </ b> indicates that the text is bolded
      <c #xxxxxx> text </ c> means text content uses #xxxxxx color, # xxxxxx represents hexadecimal RGB value
     <f x> text </ f> The font representing the text content using the x ordinal number
     <i> text </ i> indicates that text content is italicized
      <i x y z> indicates that the picture is inserted this time, x indicates the name of the picture, y indicates that this picture contains several picture words (may not be filled, the default value is 1), and z indicates the currently used picture id (may not be filled; the default value is 0)
     <a x> text </a> indicates that the text content has a link function, x indicates the link address (may not be filled), usage such as app: notepad or http: www.xxx.com, this string needs to be resolved in the user program processing.
     <n> indicates the newline
      <p x> text </ p> means the content of text is a paragraph (starting from here), x represents the horizontal distance of the paragraph text (optional)
     <r> text </ r> indicates that text content does not use the syntax tag feature
     <s> text </ s> indicates that the text content is selected (the selected background color is displayed)
      <u> text </ u> indicates that the text content is underlined
     <x i> means moving x pixel values ​​back from here
     <y i> indicates that the row height is fixed at y pixel values

way 3:export a commandline for changing to safe 800x600 resolution, and create a UI_NotifytionPanle(Windows 10's the rightest tray icon for lots button/switch )

>(luckily PECMD for no reboot fix)

not immplament yet.  :w00t:


Quote
show the resolution change in the menu with the right click

I perfer add in blow for just DESKTOP contextmenu as normal Windows, not Directory\background.
Code: [Select]
HKEY_CLASSES_ROOT\DesktopBackground\Shell\Display

if you want show the menu on every directory background contextmenu for the purpose, ignore this one.
« Last Edit: December 31, 2017, 05:45:19 AM by slore »

Re: WinXShell - a portable shell and zero dependencies for boot.wim,winre.wim
« Reply #43 on: December 30, 2017, 10:07:48 PM »

bob.omb

  • Code Baker
  • Grand Chef
  • *****
  • Location: USA
  • Date Registered: Jul 2017
  • Posts: 1261
Sweet, thank you!  Updated test plugin from earlier post with new transparency feature for WiFi and fixed dark theme for display. (http://theoven.org/index.php?topic=2090.msg25429#msg25429) And added to bottom of this post) Also removed brightness slider from display settings for now until its working. Per you instruction I added the vertical scroll bar that appears when screen is smaller than display settings window AND shortcuts Alt+A for Accept and Alt+C for Cancel.  It works great! Now people have multiple ways not to get stuck out of range in display settings window  :great:

Also fixed the right-click for display settings to be on the desktop only instead of in any folder background. (I didn't notice this)

ila_rendered

Put plugin in %BaseDir%\Projects\Win10PESE\Shell (BLExact and Secure will erase this plugin from this location when run - this is for testing only - make sure to save a backup copy before running project update)

Attached plugin x64 only, replace x64 version of WinXShell.exe in the (Attachments) section of plugin with x86 version manually if needed.  Next version will be compatible with both.


« Last Edit: December 31, 2017, 03:56:15 PM by bob.omb »

Re: WinXShell - a portable shell and zero dependencies for boot.wim,winre.wim
« Reply #44 on: December 31, 2017, 12:45:58 PM »

teik

  • Chef
  • ***
  • Date Registered: Nov 2016
  • Posts: 250
Hi slore,
I just tried the new version, transparent. I loved it. I know that it was not in your plans to add transparency. Thank you very much really. In my Win10PE project, I use a lot of things with aero effects, it gives me a touch that I like very much. For this reason, I would like to thank you again for adding it to the project, together with the perfect Spanish translation.
Also thank you both slore, as well as bob.omb the inclusion of the right click to rotate the screen and change the resolution. A very good idea and an elegant icon in the menu.
In particular I have also tried the bob.omb script that works perfectly, only that I have had to add the translation in Spanish, if you want I can upload the files and you could add a menu to choose among the possible languages ​​to put .

I will continue doing tests and I love that you both work in this big and complicated project. Especially slore because without you this was not possible, and I know it is still very primary, but it looks very good.

Greetings and I will closely follow the work, I hope not to disturb and help in what I can. :great:

Re: WinXShell - a portable shell and zero dependencies for boot.wim,winre.wim
« Reply #45 on: December 31, 2017, 01:58:51 PM »

bob.omb

  • Code Baker
  • Grand Chef
  • *****
  • Location: USA
  • Date Registered: Jul 2017
  • Posts: 1261
I have also tried the bob.omb script ==> plugin that works <----

Scripts and Plugins are different.  Almost everything we make is plugin / not script.  The reason for this is script = universal for ALL projects.  Dev's get annoyed when we use the word script because its misleading.  Make sure "plugin" when discussing any "name.script" files unless they are fully universal.

The stuff I'm doing is very easy to do, no credit deserved here.  slore only for credit with WinXShell, I am super grateful to him as well  :grin:

Upload language files and I'll add to test plugin.

*Note, slore's original color scheme looks better for Display settings, but I had to change for my build to match my theme it was too different.  Once theme files are posted (or maybe slore will make theming easy) I'll add to test plugin.  When all files are ready for nearly finished plugin I'm sure one of the Devs will help with a very nice plugin unless we already have something really good by then..

We will see, maybe we will build it ourselves slowly... :turtle:
« Last Edit: December 31, 2017, 02:26:56 PM by bob.omb »

Re: WinXShell - a portable shell and zero dependencies for boot.wim,winre.wim
« Reply #46 on: December 31, 2017, 03:57:56 PM »

teik

  • Chef
  • ***
  • Date Registered: Nov 2016
  • Posts: 250
Hi bob.omb,
Sorry for the word script, it's the translator's thing that I did not realize to go over it again. Excuse me, I do not know English and I use the translator to communicate.
One thing, could you add a "Delay" to put a few seconds until I load WIFI driver?

I upload the two files "es-ES" one of the Wifi and another of the display. In the Wifi (main.xml) there are two manual changes in the main that you made. I put the changes in Spanish and the file if you want to compare.

Code: [Select]
<Control />
        <Button name="netsetting" padding="10,-30,0,0" text="Configuracion de red e Internet" font="100" align="left" textcolor="#FFFFFFFF" height="20" />
        <Label padding="10,0,0,0" text="Cambia los ajustes de configuración y tarjeta red.." align="left" font="10" textcolor="#FFFFFFFF" height="15" />
        <HorizontalLayout padding="5,5,0,0" childpadding="5">

Remember: to put wifi in Spanish you have to add the line to main.cfg
"locale": "es-ES",

As for the right click: in Spanish it is:
Displaing change = Configuración de Pantalla

Greetings to all :thumbsup:

Re: WinXShell - a portable shell and zero dependencies for boot.wim,winre.wim
« Reply #47 on: December 31, 2017, 04:29:11 PM »

bob.omb

  • Code Baker
  • Grand Chef
  • *****
  • Location: USA
  • Date Registered: Jul 2017
  • Posts: 1261
Please Re-Upload Spanish for UI_WiFI, you accidentally gave me the es-ES both files for display only - Also quick question, I think I already know answer.  When folder is placed correctly shell, correct language for whatever locale its running on automatically displayed? (I think yes) If so this is very simple, slore made it easy for us.

The only reason you had to edit main.xml to for "Network Settings" is because of a bad change I made.  I hardcoded text when I should have created new variable in locale folder.  I only use one language so is a learning process for me.  However I will update plugin so adding languages is easy again the way slore intended.

After you re-send correct es-ES files for WiFi I will upload new corrected plugin.

If anyone would like to help translate, please post the translation for the "Value=" sections of the below code:
Code: [Select]
<?xml version="1.0" encoding="utf-8"?>
<Locale>
    <MultiLanguage id="::Connected" value="Connected" />
    <MultiLanguage id="::Secured" value="Secured" />
    <MultiLanguage id="::Open" value="Open" />
    <MultiLanguage id="::Connect" value="Connect" />
    <MultiLanguage id="::Disconnect" value="Disconnect" />
    <MultiLanguage id="msg_enter_password" value="Enter the network security key" />
    <MultiLanguage id="Cancel" value="Cancel" />
    <MultiLanguage id="NetworkSettings" value="Network & Internet settings" />
        <MultiLanguage id="NetworkSettingsMsg" value="Change settings, such as setting a static IP address." />
    <MultiLanguage id="Firewall" value="Firewall" />
    <MultiLanguage id="Proxy" value="Proxy" />
    <MultiLanguage id="::msg_select_device" value="Select the WLAN device" />
    <MultiLanguage id="::msg_service_unavailable" value="WLAN service is unavailable" />
    <MultiLanguage id="::msg_device_unavailable" value="WLAN device is unavailable" />
</Locale>
« Last Edit: December 31, 2017, 07:34:08 PM by bob.omb »

Re: WinXShell - a portable shell and zero dependencies for boot.wim,winre.wim
« Reply #48 on: December 31, 2017, 05:01:17 PM »

teik

  • Chef
  • ***
  • Date Registered: Nov 2016
  • Posts: 250
Hi bob.omb
I apologize for uploading the wrong file. I had so many copies of the file in folders that I went a little and got the wrong one. Here is the correct translation. I hope I did not confuse you.

Code: [Select]
<?xml version="1.0" encoding="utf-8"?>
<Locale>
    <MultiLanguage id="::Connected" value="Conectado" />
    <MultiLanguage id="::Secured" value="Segura" />
    <MultiLanguage id="::Open" value="Abierta" />
    <MultiLanguage id="::Connect" value="Conectar" />
    <MultiLanguage id="::Disconnect" value="Desconectar" />
    <MultiLanguage id="msg_enter_password" value="Introducir contraseña" />
    <MultiLanguage id="Cancel" value="Cancelar" />
    <MultiLanguage id="NetworkSettings" value="Configuración de red e Internet" />
<MultiLanguage id="NetworkSettingsMsg" value="Cambia los ajustes de configuración y tarjeta red." />
    <MultiLanguage id="Firewall" value="Firewall" />
    <MultiLanguage id="Proxy" value="Proxy" />
    <MultiLanguage id="::msg_select_device" value="Seleccionar tarjeta red" />
    <MultiLanguage id="::msg_service_unavailable" value="Servicio WLAN no disponible" />
    <MultiLanguage id="::msg_device_unavailable" value="Tarjeta WLAN no disponible" />
</Locale>
« Last Edit: December 31, 2017, 05:07:06 PM by teik »

Re: WinXShell - a portable shell and zero dependencies for boot.wim,winre.wim
« Reply #49 on: December 31, 2017, 07:12:39 PM »

bob.omb

  • Code Baker
  • Grand Chef
  • *****
  • Location: USA
  • Date Registered: Jul 2017
  • Posts: 1261
slore can you please translate for me the changed and added line for:

NetworkSettings Value=
NetworkSettingsMsg Value=

Code: [Select]
<?xml version="1.0" encoding="utf-8"?>
<Locale>
    <MultiLanguage id="::Connected" value="已连接" />
    <MultiLanguage id="::Secured" value="安全" />
    <MultiLanguage id="::Open" value="开放" />
    <MultiLanguage id="::Connect" value="连接" />
    <MultiLanguage id="::Disconnect" value="断开连接" />
    <MultiLanguage id="msg_enter_password" value="请输入连接密码" />
    <MultiLanguage id="Cancel" value="取消" />
        <MultiLanguage id="NetworkSettings" value="Network & Internet settings" />
<MultiLanguage id="NetworkSettingsMsg" value="Change settings, such as setting a static IP address." />
    <MultiLanguage id="Firewall" value="防火墙" />
    <MultiLanguage id="Proxy" value="代理" />
    <MultiLanguage id="::msg_select_device" value="请选择无线网络设备" />
    <MultiLanguage id="::msg_service_unavailable" value="无线连接服务不可用" />
    <MultiLanguage id="::msg_device_unavailable" value="无可用的无线网络设备" />
</Locale>
« Last Edit: December 31, 2017, 07:48:49 PM by bob.omb »

Re: WinXShell - a portable shell and zero dependencies for boot.wim,winre.wim
« Reply #50 on: January 01, 2018, 03:34:52 AM »

bob.omb

  • Code Baker
  • Grand Chef
  • *****
  • Location: USA
  • Date Registered: Jul 2017
  • Posts: 1261
Plugin updated with current translations and x86/x64 compatibility.  Working on plugin interface, making plugin available for use as primary shell, and adding optional plugin dependencies and reg keys for certain options slore has mentioned earlier in this thread (Like drag and drop etc).

Will update with more translations as soon as they become available, and also if slore adds new features... 

Updated x86/x64 MutliLanguage Compatible plugin attached

ila_rendered

Put plugin in %BaseDir%\Projects\Win10PESE\Shell (BLExact and Secure will erase this plugin from this location when run - this is for testing only - make sure to save a backup copy before running project update)
« Last Edit: January 01, 2018, 04:17:24 AM by bob.omb »

Re: WinXShell - a portable shell and zero dependencies for boot.wim,winre.wim
« Reply #51 on: January 01, 2018, 04:33:14 AM »

slore

  • WimBuilder
  • Sr. Chef
  • ****
  • Date Registered: Jun 2016
  • Posts: 664
Hi, bob.omb

```
<MultiLanguage id="NetworkSettings" value="Network & Internet settings" />
<MultiLanguage id="NetworkSettingsMsg" value="Change settings, such as setting a static IP address." />
```

this is normal sentence without emotion, you can translate it with google.
if it is odd,as this is easy to change(edit the zh-CN.xml), the Chinese who use it will change it and feedback to you.

I translate it to be what Windows 10(ZH_CN) displayed on the flayout.
(not same as your english version. "Change settings, such as a connection is set up to be billed by traffic.")

```
<MultiLanguage id="NetworkSettings" value="网络和 Internet 设置" />
<MultiLanguage id="NetworkSettingsMsg" value="更改设置,例如将某连接设置为按流量计费。" />
```


you can change/add the "entry":"main-black.xml" to load with different theme UI for keeping orgin one left.
the "SSIDItem.xml" is load by hardcode so you cannot change that,  I will try to fix that.

if just want to modify the "COLOR" not change the whole UI to strongly different way(layout, size, control),
you can use "Style" for that. see "switchfirewall", "proxy", or your "VPN" button.

```
<Style name="color-theme-basic" value="bkcolor=&quot;#FF3F3F3F&quot;" />
<Style name="color-theme-board" value="bkcolor=&quot;#FF3F3F3F&quot; bordercolor=&quot;#FF555555&quot; focusbordercolor=&quot;#FF777777&quot;" />

<Button name="VPN" text="VPN" style="Settings" style="color-theme-basic" />
```

so that, you needn't to change the SSIDItem.xml for different theme, just change the "color-them-xxx" style in main.xml.

they is lot undocument(the main.xml did show up) feature. I'm sorry that I don't create the document, just some design in my mind.
I will add a UI_Sample to show all the possibilty later.


I don't create pulgin because I like easy things, like the winxshell.exe is just portable, copy to the USB and run.
the WinBuilder's script has so much things I didn't like.

1.file_encode
why need that?make the script to long. a simple 2-WInXShell.7z is good to me.

2.need load REGHIVE by script

Code: [Select]
RegHiveLoad,Tmp_Software,%RegSoftware%
RegWrite,HKLM,0x1,"Tmp_Software\Classes\DesktopBackground\Shell\Display Settings",Icon,X:\Windows\System32\display.ico
RegWrite,HKLM,0x1,"Tmp_Software\Classes\DesktopBackground\Shell\Display Settings\command",,"WinXShell.exe -ui -jcfg Settings\main.jcfg"
RegHiveUnLoad,Tmp_Software

just put a reg file, and auto convert the regkeypath to SOFTWARE => SOFTWARE\TEMP_SOFT, and auto registry is not a hard thing.
Do there are some one change the host windows's registry in WinBuilder?

3. modify some text file in a violence way
Code: [Select]
If,ExistFile,%target_sys%\autorun.cmd,Begin
  TXTDelLine,%target_sys%\autorun.cmd,exit
  TXTAddLine,%Target_Sys%\autorun.cmd,"START WinXShell.exe -ui -jcfg UI_WIFI\main.jcfg -hidewindow",Append
  TXTAddLine,%target_sys%\autorun.cmd,exit,Append
End

see what windows do this?put xxx.cmd or exe or lnk in [Startup] folder.
Cann't autorun.cmd to be 'dir a autorun folder' and start the wifi_tray.cmd batch one by one, if it exists.
so just copy what you want to startup with a relate cmd, needn't care what autorun.cmd is written, or appending in it.

for my wimbuilder(batch script) the just to be:

winxshell_patch(folder)
X\
  Windows\
        WinXShell.exe
        WinXShell.jcfg
  UI_WIFI\
        ...
  Config\
  Startup\
      wifi_tray.cmd
desktop_context.reg

just put the files, and will add to the wim file. less learning to do make a patch for wim, like developer to make a script.
I hope PEBakery will solve this.

Re: WinXShell - a portable shell and zero dependencies for boot.wim,winre.wim
« Reply #52 on: January 01, 2018, 05:12:55 AM »

bob.omb

  • Code Baker
  • Grand Chef
  • *****
  • Location: USA
  • Date Registered: Jul 2017
  • Posts: 1261
the WinBuilder's script has so much things I didn't like.

1.file_encode
why need that?make the script to long. a simple 2-WInXShell.7z is good to me.

Plugin contains all files (WinXShell.7z, WinXShell_x64.7x,UI_WIFI.7z,Settings.7z) compressed inside of it. One file 2-WinXShell.script contains everything and does all of the work automatically including detects if system is 32/64 bit and applies the correct version of WinXShell and reg keys / startup commands during WIM creation process. It allows for advanced scripting, and it also lets you use GUI interface to setup shell options. <-- This is important for newer users. (And you could add dependencies but WinX doesnt really need them, but most other projects do)

Maybe?  WinXShell.7z ==turn into==> WinXShellsetup.exe Self extracting executable that runs batch and installs itself after extraction (batch runs reg keys too) - But WinXShell.7z cannot install itself.  This is one reason for plugin.

2.need load REGHIVE by script

Code: [Select]
RegHiveLoad,Tmp_Software,%RegSoftware%
RegWrite,HKLM,0x1,"Tmp_Software\Classes\DesktopBackground\Shell\Display Settings",Icon,X:\Windows\System32\display.ico
RegWrite,HKLM,0x1,"Tmp_Software\Classes\DesktopBackground\Shell\Display Settings\command",,"WinXShell.exe -ui -jcfg Settings\main.jcfg"
RegHiveUnLoad,Tmp_Software

just put a reg file, and auto convert the regkeypath to SOFTWARE => SOFTWARE\TEMP_SOFT, and auto registry is not a hard thing.
Do there are some one change the host windows's registry in WinBuilder?

The easiest way to edit registry HIVE files inside the wim is to temporarily load the hives into the host registry.  This lets the plugin edit the WIM reg HIVES and save them.  This adds registry items into WIM during WIM creation, it is really only needed if people want to integrate WinXShell into their existing build.  If this is done, no further changes need to be made during boot because they are already present.

3. modify some text file in a violence way
Code: [Select]
If,ExistFile,%target_sys%\autorun.cmd,Begin
  TXTDelLine,%target_sys%\autorun.cmd,exit
  TXTAddLine,%Target_Sys%\autorun.cmd,"START WinXShell.exe -ui -jcfg UI_WIFI\main.jcfg -hidewindow",Append
  TXTAddLine,%target_sys%\autorun.cmd,exit,Append
End

see what windows do this?put xxx.cmd or exe or lnk in [Startup] folder.
Cann't autorun.cmd to be 'dir a autorun folder' and start the wifi_tray.cmd batch one by one, if it exists.
so just copy what you want to startup with a relate cmd, needn't care what autorun.cmd is written, or appending in it.

All current Win10PESE projects have this file "autorun.cmd" - The reason this is chosen as the place to run the UI_WIFI module, is if the project contains the "LoginAsAdmin" plugin, the icon may not populate correctly in the taskbar if it loads before the user session is changed.  Also the cmd "START" is added to the front of execution because if it is not added the boot process will freeze, the batch will wait for the shell to end before executing the next line in the batch. (This is only necessary for existing Win10PESE projects, but possibly other existing projects as well.  If builders want to integrate inside current projects this is the simplest way for them. And they do not need to develop, that is why I'm trying to provide it.  So people can just enjoy.  I promise I don't want to make plugin any way you don't want.  As alernate themes develop, I would add options to current plugin for users to choose theme easily w/dropdown menu. (If you allow plugin development to continue) You would not need to start wifi_tray.cmd batch one by one because plugin provides GUI checkbox if components are added or not during build.  If check box is selected, UI component is added and loads on boot.  If not selected, component is not installed.

for my wimbuilder(batch script) the just to be:

winxshell_patch(folder)
X\
  Windows\
        WinXShell.exe
        WinXShell.jcfg
  UI_WIFI\
        ...
  Config\
  Startup\
      wifi_tray.cmd
desktop_context.reg

just put the files, and will add to the wim file. less learning to do make a patch for wim, like developer to make a script.
I hope PEBakery will solve this.

Projects have a plugin called Components>Additional Files - This can be used to manually move WinXShell files into any location, including batch files into startup folder, and reg files into place for batch files to execute. For current builds, even easier method is move file 2-WinXShell.plugin to %BaseDir%\Projects\Win10PESE\Shell folder and click 1 button to integrate into their current build during the creation process.

Plugin does not install WinXShell as the actual shell yet.  This option is not finished yet.  At present it copies the shell files only but does not use them except for the Display and Wifi settings
It is hardcoded selected "Do NOT use Shell" BUT it lets people try the UI elements...
(Plugin is only testing, for newer users)

ila_rendered

If PE was built with ADK instead of PESE w/ wb or PE Bakery the install method would be very easy how you describe.

PE Bakery will make a lot of things better for a lot of reasons.. Some things will stay similar... Any development requests can be talked about here: http://theoven.org/index.php?board=38.0

Plugin is intended to provide GUI way to integrate your shell and components.  If you want me to stop plugin development or change its up to you. Users like teik need plugin for certain things they cannot figure out how to do, when they get stuck they can run pre-made plugin.
« Last Edit: January 01, 2018, 02:57:31 PM by bob.omb »

Re: WinXShell - a portable shell and zero dependencies for boot.wim,winre.wim
« Reply #53 on: January 01, 2018, 02:33:44 PM »

slore

  • WimBuilder
  • Sr. Chef
  • ****
  • Date Registered: Jun 2016
  • Posts: 664
Hi, bob.omb

I thougt there was some misunderstood.

I don't like WB's design, some one need learn how to write a script for that, as there is a easy way for that.
I don't mean I don't want you create and share the plugin for other. This is something good. :thumbsup:
I talked about why WB is in bad design, not for your work. that is why I don't want to learn how to write a WB script, so I cann't provide a plugin(<- this is what I want to say in last post).

Quote
One file 2-WinXShell.script contains everything and does all of the work automatically including detects if system is 32/64 bit and applies the correct version of WinXShell and reg keys / startup commands during WIM creation process. It allows for advanced scripting
What I mean is, WB can treat a 7z file as a script. for details:

2-WinXShell.7z\
     winxshell.exe
     UI_WIFI\main.xml
     ...
     WB.script <- script.wb, main.script, config.ini or some other better name

WB should load the 7z file, and run the WB.script and detects if system is 32/64 bit and applies the correct version of some thing and reg keys...
not encode file in to the text script file with some thing shouldn't be edited long lines.
Code: [Select]
0=N3q8ryccAAS2RIlRJQ8K
1=UAGAo/OqFN5zwIs0GN
for a text file, I can easily modify it to do some right?but the encode parts should not edit, and too long for a configration file.
I just want to see what your main.xml is,if it is a 7z file, it is such a easy thing, and I can modify it with normal archive 7z(zip,winrar), not a specialized tool(WBZip?)
WB's script is not WYSIWYG("what you see is what you get").


the 32/64 bit detect what is implemented in this way:

Code: [Select]
2-WinXShell
   X\
      Windows\
        winxshell_x64.exe
        winxshell_x86.exe
  LAST.bat
    @echo off
    del X:\Windows\winxshell_x%NotBit%.exe
    ren X:\Windows\winxshell_x%Bit%.exe winxshell.exe

or

Code: [Select]
2-WinXShell
   x64\
        X\
           Windows\
           winxshell.exe
  x86\
       X\
          Windows\
           winxshell.exe
  LAST.bat
    @echo off
    call BITCOPY .
I mount WIM file to X driver so make what I do in host as what I do in target PE.

I don't know if you know what I mean.I hope everyone can contribute th "BUILDER" part(change the behaviour by themself),
not just follow the instruction to create a script.(if the builder can be contribute with easy to learn program language, like bat,vbs,ect, not JAVA, C#, C++)
of cause, the builder creator should implement lots basic macro,script for the users.


Quote
The easiest way to edit registry HIVE files inside the wim is to temporarily load the hives into the host registry.
What I mean is, WB can auto replace the registy path Software to Tmp_Software\, so the users no need for adding RegHiveLoad,REgHiveUnload the 2 line for everytime they want to do "RegWrite".

put a reg file in a pulgin folder, and it will add registry items into WIM during WIM creation, no need to write some script line.
when I said put a reg file, didn't mean merge the reg file in to registy on the PE booting, but write in to the WIM file directly during WIM creation.

Quote
If you want me to stop plugin development or change its up to you.
Here again, I didn't mean that. I don't know how to write a plugin script(even I don't have WB now).
as YOU already have the ability to write a plugin, and make a winxshell pulgin for others what is GOOD thing(SHARE is the beautifull thing in the world.).
I hope you can go on with it.I can give you some advise for the main.xml's UI stuff, make the plugin be compatible.
« Last Edit: January 01, 2018, 02:39:29 PM by slore »

Re: WinXShell - a portable shell and zero dependencies for boot.wim,winre.wim
« Reply #54 on: January 01, 2018, 02:50:52 PM »

bob.omb

  • Code Baker
  • Grand Chef
  • *****
  • Location: USA
  • Date Registered: Jul 2017
  • Posts: 1261
I would love to keep helping with plugin.  I promise when it comes to PESE projects this is the easiest way, even with most other projects to not be able to use plugin would be a pain.  A lot of the other projects get very difficult because there are many many files and changes to enable certain features. With all plugins combined we press 1 button to build ISO. Also wb is flawed in its design so PE Bakery will fix most of those issues. 

I misunderstood I thought you did not want me to make because you did not like the code for plugin the way I made it.  This is your project, I am grateful to be a part of helping to share it.  Much respect for you, again your ideas are great with this shell.  Everyone is watching  :grin:

Any advice on how to make plugin better is greatly appreciated.  I want to make sure it is the way you intend.  Let me know when SSIDterm.xml theme is not hardcoded, I will update plugin with default theme with option for change to dark.  Also if anyone else makes themes or UI changes and you approve to add to plugin I will add for you, all with nice GUI - Also to put OSK button and Proxy back for default theme.  Will have something like "Theme" and "Mode?/Layout?" Maybe for Win10/Win8/Win7 look and feel? Not sure..

Plugin design is NOT easy to learn lol - I am actually finally feeling good to write plugins from scratch but still learning so I feel we are learning our crafts together :cheers:

Reason for:
I translate it to be what Windows 10(ZH_CN) displayed on the flayout.
(not same as your english version. "Change settings, such as a connection is set up to be billed by traffic.")


(same default) en-US Change settings, such as making a connection metered.   <--- This setting will likely never be used in WinPE/PESE - Probably also not possible
(same default) zh-CN Change settings, such as a connection is set up to be billed by traffic.   <--- This setting will likely never be used in WinPE/PESE - Probably also not possible

(fix for PE) Change settings, such as setting a static IP address.  <--- This is the most likely ONLY config you will ever need to change in WinPE/PESE if network is already running. It makes sense to have this because it actually means something useful. It is the only change I suggest that is away from exact...

EDIT:
Also How to implement shutdown? Shortcut maybe probably? You could make system tray controls... im sure start menu when project moves forward will be best place.  Trying to figure out how to add this to plugin. I can include files but how to initiate for end user, manually? Maybe we wait for this for now..

However, the goal is for YOU to like it not anyone else, so.... I will wait for your input  :thumbsup:
« Last Edit: January 02, 2018, 02:45:26 AM by bob.omb »

Re: WinXShell - a portable shell and zero dependencies for boot.wim,winre.wim
« Reply #55 on: January 10, 2018, 12:29:03 PM »

slore

  • WimBuilder
  • Sr. Chef
  • ****
  • Date Registered: Jun 2016
  • Posts: 664
new version is uploaded.

Hi, bob.omb

translation as your English version for "set the static IP address".
```
<MultiLanguage id="NetworkSettings" value="网络和 Internet 设置" />
<MultiLanguage id="NetworkSettingsMsg" value="更改设置,例如为网络设置静态IP。" />
```

(maybe define a ClickAction in main.jcfg to open the PENetwork.exe will be good for PE.)

Quote
Also How to implement shutdown? Shortcut maybe probably?

somebody add this to DesktopContextMenu, I feel its not a good idea.
in start menu is fine, but PE cann't use normal start menu.

the alternate startmenu like ClassicShell, Start10 should customize the shutdown command, I think.
(ClassicShell is OK, I don't use Start10 or startIsBack, so I don't know if it can do this.)
« Last Edit: January 10, 2018, 03:43:19 PM by slore »

Re: WinXShell - a portable shell and zero dependencies for boot.wim,winre.wim
« Reply #56 on: January 10, 2018, 04:04:04 PM »

bob.omb

  • Code Baker
  • Grand Chef
  • *****
  • Location: USA
  • Date Registered: Jul 2017
  • Posts: 1261
Starting work on plugin.  FYI the wired network icon is not functioning correctly for me...

Re: WinXShell - a portable shell and zero dependencies for boot.wim,winre.wim
« Reply #57 on: January 10, 2018, 04:09:18 PM »

teik

  • Chef
  • ***
  • Date Registered: Nov 2016
  • Posts: 250
Hi slore
I just tried the new version. I love that you can include the dark theme with the words (-theme darkgray) is perfect.
Respect:

Code: [Select]
(maybe define a ClickAction in main.jcfg to open the PENetwork.exe will be good for PE.)

I would love that idea. With a direct button to open it for all the necessary configurations. You have had a very good idea.

Regarding the OSK button, now it opens a virutal keyboard, but in my Win10PE it does not perform the function, since the osk.exe executable is not found.

Last of all, I would like to thank you again for adding the transparent effect. That effect is perfect. A very good job that is appreciated.

Greetings.

Re: WinXShell - a portable shell and zero dependencies for boot.wim,winre.wim
« Reply #58 on: January 10, 2018, 04:20:05 PM »

slore

  • WimBuilder
  • Sr. Chef
  • ****
  • Date Registered: Jun 2016
  • Posts: 664
hi, teik

thank for testing it.

Quote
since the osk.exe executable is not found.

try to run osk.exe in cmd.exe prompt in your 10 PE.
if it also failed, maybe the file path is not correct for you.

open main.jcfg and try to change osk.exe path.

if your PE haven't one, try download freevk.exe for this feature.

Quote
I would love that idea. With a direct button to open it for all the necessary configurations.
see UI_Shutdown\main.jcfg which one is click shutdown,restart with wpeunitl.exe shutdown.

maybe you can add this by yourself.
« Last Edit: January 10, 2018, 04:21:34 PM by slore »

Re: WinXShell - a portable shell and zero dependencies for boot.wim,winre.wim
« Reply #59 on: January 10, 2018, 04:35:31 PM »

bob.omb

  • Code Baker
  • Grand Chef
  • *****
  • Location: USA
  • Date Registered: Jul 2017
  • Posts: 1261
since the osk.exe executable is not found

I will add osk to the plugin so that if it is not present it is installed if the default mode(see below) is selected.

I will be making dropdowns for "Theme" and for "Mode" in the plugin interface

Theme will be: Default - Dark - Etc (Obvious for color change)

Mode Will be: Default - Exact - etc (Working on better description than exact but basically default will have osk button and default links etc, all settings slore intended.  Exact will be almost exactly like win10 buttons and text, no osk button, more like exact win10 ui)

(slore keep in mind this plugin is basically the "installer" for us, so we are setting options of how we want it installed into our PE's with the dropdown menus, it makes it easier for us..)

**Edit: Maybe I will add option to change button commands but its slightly advanced, not much different from modifying additional autorun, let me see what I can put together on the plugin side

***Edit 2: I have to pick this up tomorrow need some :sleep: will update soon..
« Last Edit: January 11, 2018, 04:25:51 AM by bob.omb »

 

Powered by EzPortal