Related
Based on XDA_UC (by Noonski). I used it in my ROMs and the idea is just great.
But there are some issues that I want to fix and also I have some new ideas.
So I started new project.
1. XDA_UC is based on MortScript, and I use C#. This affects only engine. You can use your mscr files for customization =)
2. XDA_UC runs in background, it's almost silent. I want to add feedback to show what's happening now.
Official Russian forum is here.
This application will install all cab files, reg tweaks, provxmls, run mscr scripts, copy files (and more) from given folder. Use it after you upgraded your ROM to restore everything.
Information for Chef's updated 2010/07/07
UC_NET new feature - Using variables updated 2010/07/02
UC_NET new feature - Portable commands updated 2010/07/07
UC_NET tutorial - HOWTO create shortcuts updated 2010/07/02
Requirements: NetCF 3.5
Main features:
portable, supports localization, uses OS functions (if possible, for example for installing provxml), predictable - you can control order of everything, error reporting, full customization log.
Quick start:
1. create folders on your storage card
Code:
XDA_UC
XDA_UC\Manual
XDA_UC\Copy2Root
XDA_UC\Run
XDA_UC\Execute
"XDA_UC" is a place for all .cab, .reg, .mscr, .cer files that should be automatically installed to device.
"Manual" is a place for all cab files you want install in usual "visible" mode with all questions.
"Copy2Root" is a place for all files and folders that should be automatically copied to device.
"Run" is a place for you self-extracting archives.
"Execute" is a place for you self-extracting archives if you want to continue customization while them working.
2. run UC_NET.exe, select your XDA_UC folder and press customize button.
XDA_UC_NET features:
1. It runs with any ROM that has NETCF 3.5. You don't need to install or cook it. Just take exe and run it.
2. It searches for XDA_UC folders on your storages and then you can choose what folder you want to use for customization. And you can even select any other folder as a root for customization.
3. How it works. When you select folder and press "Customize!" program uses this algorithm:
Install MSCRs
RunWaitFiles - run apps from the Run folder and from coomand files UC_NET_Run
RunNoWaitFiles - run apps from the Execute folder and from coomand files UC_NET_Execute
Install XMLs ("*.*xml" from XDA_UC)
Install CERTs ("*.cer" from XDA_UC)
Install CABs silent to device memory ("*.cab" from XDA_UC)
Install CABs manual ("*.cab" from XDA_UC\Manual)
Install REGs ("*.reg" from XDA_UC, uses FS_TaskMgr.exe)
Install RGUs ("*.rgu" and "*.cereg" from XDA_UC, uses FS_TaskMgr.exe)
Copy Directories (see UC_NET_CopyDirectories)
Copy Files (see UC_NET_CopyFiles)
Move Files (see UC_NET_MoveFiles)
Delete Files (see UC_NET_DeleteFiles)
Create Shortcuts (see UC_NET_CreateShortcuts)
Install PIB (restore you contacts, uses last pib file and PPCPimBackup.exe)
if portable mode is disabled in menu, at the end of customization program will read arguments from registry and do these actions:
XDAUC_CopyDirectories (XDA_UC DirCopy feature)
XDAUC_DeletFiles (XDA_UC Delete feature)
XDAUC_CopyFiles (XDA_UC FileCopy feature)
XDAUC_CreateShortcuts (XDA_UC AutoShortCut feature)
4. FS_TaskMgr.exe and PPCPimBackup.exe are used for some actions, program will search for these files in current folder, in \Windows and in the selected XDA_UC folder. Both files are included.
5. Program logs every step – you can see what is happening right now. Errors are shown separately – you can see if something wrong happened.
6. All files processed in strict alphabetical order. For example, if you want to install SlideIT.cab before DanishPack.cab, you can just change names: 1_SlideIT.cab, 2_DanishPack.cab.
7. Program will first search and use XDA_UC\1, XDA_UC\2, … XDA_UC\99 folders (1-99 in alphabetical order), before using base XDA_UC. For example, you want to install some reg files before installing cab files, and you want to install first.cab right after installing these reg files. How to do this?
Go to XDA_UC folder, create subfolder "1" and move these reg files to XDA_UC\1.
Go to XDA_UC folder, create subfolder "2" and move this first.cab to XDA_UC\2.
8. You can structurize your setup folders by using Groups. Programm will show you menu and let to choose what you want to install. Read more here.
Ready!
Release history.
NETCFv35.Messages.EN.wm.cab - install it and you will see detailed descriptions of errors (if any)
If you want to translate program to your language - please follow instruction in included UC_NET_Localization_SRC.zip.
Update 2011/03/20 - new Fr and Sk localizations - http://forum.xda-developers.com/showpost.php?p=12231359&postcount=238
Information for Chef's
UC_NET v0.6
2010/07/07
option to run on any boot you like
you can configure wait timeout
you can set any folder as root folder (not only XDA_UC)
you can display your own Welcome Message in any language.
see attached readme.txt for more details
UC_NET v0.5
2010/07/02
put UC_NET_FirstBoot.lnk in your StartUp folder if you want run UC_NET.exe with these arguments
/CreateShortcuts
/CopyDirectories
/CopyFiles
/DeleteFiles
registry key
Code:
[HKEY_LOCAL_MACHINE\Software\XDA\Delete]
"Environment.SpecialFolder.Startup\\UC_NET_FirstBoot.lnk"=""
will delete this UC_NET_FirstBoot.lnk link after first boot.
registry key
Code:
[HKEY_LOCAL_MACHINE\Software\XDA\AutoShortCut]
"Environment.SpecialFolder.Programs\\UC_NET Customize.lnk"="\\Windows\\UC_NET.exe"
will create shortcut for users in programs menu.
command line parameters
/CreateShortcuts - creates shortcuts for all files listed under
HKLM\Software\XDA\AutoShortCut
/CopyDirectories- copies all directories (including all files and subfolders) listed under
HKLM\Software\XDA\DirCopy
/CopyFiles- copies all single files listed under
HKLM\Software\XDA\FileCopy
/Delete- deletes all files listed under
HKLM\Software\XDA\Delete
read more about XDA_UC commands format here:
http://forum.xda-developers.com/showthread.php?t=562568
UC_NET extends XDA_UC
You can use variables in your commands
and it will work with any localization of windows.
for example, this key will delete UC_NET_FirstBoot.lnk from Startup folder.
Code:
[HKEY_LOCAL_MACHINE\Software\XDA\Delete]
"Environment.SpecialFolder.Startup\\UC_NET_FirstBoot.lnk"=""
IMPORTANT - UC_NET doesn't show GUI to user if started with command line.
I think this is the most confusing part of original XDA_UC - your ROM depends on something that user will do on first (second) boot.
Therefor I disabled GUI - If user wants to use customization he will start it from start menu, and of course in this case user will know what's up. Correct me if I'm wrong.
Another difference from original XDA_UC - UC_NET will not install all cab files from windows folder. I can add this feature, but I don't know why Chef will put cab files into his "perfect" ROM. The same with reg files - what kind of chef needs to import reg files AFTER the ROM is ready? =)
please, post your comments and requests!
You can use these variables in you commands:
Microsoft Environment.SpecialFolder Enumeration members:
Code:
Environment.SpecialFolder.ApplicationData
- The directory that serves as a common repository for application-specific data for the current roaming user.
Code:
Environment.SpecialFolder.Favorites
- The directory that serves as a common repository for the user's favorite items.
Code:
Environment.SpecialFolder.Personal
- The directory that serves as a common repository for documents.
Code:
Environment.SpecialFolder.Programs
- The directory that contains the user's program groups.
Code:
Environment.SpecialFolder.StartMenu
- The directory that contains the Start menu items.
Code:
Environment.SpecialFolder.Startup
- The directory that corresponds to the user's Startup program group.
UC_NET v0.5 adds more variables
Code:
StorageManager.Profiles.SDMemory
- will be replaced in runtime with value of
HKLM\System\StorageManager\Profiles\SDMemory\Folder
Code:
StorageManager.Profiles.MoviNand
- will be replaced in runtime with value of
HKLM\System\StorageManager\Profiles\MoviNand\Folder
Code:
StorageManager.Profiles.INAND
- will be replaced in runtime with value of
HKLM\System\StorageManager\Profiles\INAND\Folder
UC_NET v0.9.4.2 adds more variables
Code:
ShellFolders.Windows
- value of HKLM\System\Explorer\Shell Folders\Windows
Code:
ShellFolders.StartUp
- value of HKLM\System\Explorer\Shell Folders\StartUp
Code:
ShellFolders.Recent
- value of HKLM\System\Explorer\Shell Folders\Recent
Code:
ShellFolders.Programs
- value of HKLM\System\Explorer\Shell Folders\Programs
Code:
ShellFolders.ProgramFiles
- value of HKLM\System\Explorer\Shell Folders\Program Files
Code:
ShellFolders.MyDocuments
- value of HKLM\System\Explorer\Shell Folders\My Documents
Code:
ShellFolders.Fonts
- value of HKLM\System\Explorer\Shell Folders\Fonts
Code:
ShellFolders.Favorites
- value of HKLM\System\Explorer\Shell Folders\Favorites
Code:
ShellFolders.Desktop
- value of HKLM\System\Explorer\Shell Folders\Desktop
Code:
ShellFolders.ApplicationData
- value of HKLM\System\Explorer\Shell Folders\Application Data
UC_NET extends XDA_UC with portable commands:
UC_NET_Magic_CreateShortcuts
UC_NET_CopyDirectories
UC_NET_CopyFiles
UC_NET_MoveFiles
UC_NET_CreateShortcuts
UC_NET_Delete
UC_NET_Run
UC_NET_Execute
UC_NET_BackupReg
Just create text file (UTF8 and Unicode supported), fill this file with command arguments and put it to any XDA_UC folder (to root, or to root\1 and so on).
UC_NET_Magic_CreateShortcuts, creates shortcuts for all exe files in given folder and its subfolders.
base filename UC_NET_Magic_CreateShortcuts format:
create_shortcuts_here=folder_with_exe_files
create_shortcuts_here=folder_with_exe_files
...
base filename UC_NET_CopyDirectories format:
to=from
to=from
...
base filename UC_NET_CopyFiles format:
to=from
to=from
new in v0.9.3.1 - You can use "*" and "?" wildcards in UC_NET_CopyFiles, (if you are using mask, destination parameter should be a folder name, as you cannot copy several files to one file)
...
base filename UC_NET_MoveFiles - new command v0.9.3.1, works exactly like UC_NET_CopyFiles, but moves files. You can use it to rename files as well.
to=from
to=from
...
base filename UC_NET_CreateShortcuts format:
link="target"
link="target" params
...
base filename UC_NET_Delete format:
file_to_delete
file_to_delete
directory_to_delete
...
You can use "*" and "?" wildcards in UC_NET_Delete -
for example
Code:
StorageManager.Profiles.SDMemory\_test_del\*.txt
will delete all txt files in my folder _test_del on storage card.
base filename UC_NET_Run format: - new command v0.9.3.1
each line of such file is a path to your application (or script, or anything that can run). UC_NET will start program and wait until it finishes. You can pass parameters to your program. In this case Use quotes around path and then place a parameters.
for example:
"notepad.exe" my_text_file.txt
this will start notepad.exe and pass my_text_file.txt as parameter.
base filename UC_NET_Execute format: - new command v0.9.3.1
works exactly like UC_NET_Run, but doesn't wait for complete and continue with next customization step.
UC_NET_BackupReg - new command v0.9.4.0, uses FS_TaskMgr.exe /regxpkey feature.
format for this command is
filepath=[regkey]
filepath2=[regkey2]
...
See attached examples. Tell me if it's not clear how to use this feature.
You can have more than one file with parameters - just add something to base filename. For example UC_NET_CreateShortcuts1.Settings.Advanced will be parsed as well as UC_NET_CreateShortcuts.txt
HOWTO create shortcuts
A shortcut is a small file containing the name of a target program file that the shortcut represents. The shortcut might additionally specify parameters to be passed to the target program when it is run. Shortcuts are very commonly placed on Start Menu.
option 1: UC_NET_Magic_CreateShortcuts protable command
use UC_NET to create shortcuts for all programs in given folder
Before you read remaining part of this tutorial you need to know
-the name of a folder with target programs (should be real folder you have on your device)
-name of folder for your new shortcuts (any name you like)
now download UC_NET_v0.5_portable_commands_example.zip from the first post and open UC_NET_Magic_CreateShortcuts.txt file.
There is a line in this file. It is a command, that will be processed by UC_NET when you press "Customize".
Code:
Environment.SpecialFolder.Programs\My Util=StorageManager.Profiles.SDMemory\MyPortableUtils
Format is:
<destination folder>=<source folder with target programs>
You can find '=' character and everything before it is a destination folder
Code:
Environment.SpecialFolder.Programs\My Util
Environment.SpecialFolder.Programs - is a variable, that points to the place where all Start Menu shortcuts are stored.
"My Util" - is a name for new folder under start menu where all new shortcuts created by this command will be stored.
For example, if you want create shortcuts for GPS utilities you can change this part to
Code:
Environment.SpecialFolder.Programs\GPS
everything after '=' character is folder with target programs
Code:
StorageManager.Profiles.SDMemory\MyPortableUtils
Replace this string with your path - folder with target programs, and you ready.
For example, if your GPS utilities are here
\Storage Card\util\gps you should change this part to
Code:
\Storage Card\util\gps
Save your file and put it in your XDA_UC folder.
Start UC_NET, choose this folder and perss [Customize!]
option 2: UC_NET_CreateShortcuts protable command
control and tune every shortcut for every program you want
Before you read remaining part of this tutorial you need to know
-the name of a target program file (should be real program you have on your device)
-name of your new shortcut (any name you like)
now download UC_NET_v0.5_portable_commands_example.zip from the first post and open UC_NET_CreateShortcuts1.txt file.
There are two lines in this file. Each line is a command, that will be processed by UC_NET when you press "Customize".
The second line shows an example how to create shortcut with parameters, it's a bit tricky and for now delete this second line. You can return to it later, when you understand simple shortcut creation.
Let take first line:
Code:
Environment.SpecialFolder.Programs\Test Portable.lnk="\Storage Card\_new_distrib\portable\LiteNote\LiteNote.exe"
format is
<shortcut name>="<target program file>"
You can find '=' character and everything before it is a shortcut name
Code:
Environment.SpecialFolder.Programs\Test Portable.lnk
Environment.SpecialFolder.Programs - is a variable, that points to the place where all Start Menu shortcuts are stored.
"Test Portable" is a name for my new shortcut - when I open Start menu I want to see this name. You can change it as you wish.
".lnk" - is a file extension, do not change it.
For example, if you want create shortcut for chess game you can change this part to
Code:
Environment.SpecialFolder.Programs\Chess.lnk
everything after '=' character is target program file
Code:
"\Storage Card\_new_distrib\portable\LiteNote\LiteNote.exe"
Replace this string with your target program file path and you ready.
Do not remove quotes.
For example, if your chess gameis here
\Storage Card\games\chess\chess.exe you should change this part to
Code:
"\Storage Card\games\chess\chess.exe"
Do this for all your shortcuts. (copy this line and edit it)
Save your file and put it in your XDA_UC folder.
Start UC_NET, choose this folder and perss [Customize!]
option 3: XDA_UC registry command AutoShortCut
UC_NET can read XDA_UC registry commands, you can use them as well.
These commands are not portable, and you should uncheck "Portable" option in menu or use command line switches. example:
Code:
[HKEY_LOCAL_MACHINE\Software\XDA\AutoShortCut]
"Environment.SpecialFolder.Programs\\GPS\\SeaSGEE.lnk"="\\Windows\\SeaSGEE.exe"
read more about this type of commands in XDA_UC thread.
And you can make these commands more portable if you use variables - replace \Storage Card with StorageManager.Profiles.SDMemory, this will work even if Storage Card has different name in new ROM.
How to create shortcut with parameters?
MSDN says
Place quotes around the target path so that SHCreateShortcut can correctly parse the target file from any following arguments.
Click to expand...
Click to collapse
example - creating shortcut to enable FileDialogChanger:
Code:
[HKEY_LOCAL_MACHINE\Software\XDA\AutoShortCut]
"Environment.SpecialFolder.Startup\\filedlgchgs.lnk"="\"ctlpnl.exe\" filedlgchg 1"
Hello...
...i am a german cook and im cooking ROMs for my Blackstoen (HD) ...
I love XDA_UC and i try your new version...
thanks for aour work !!!!!
Looks great, gonna try it out in my roms
Thanks!
This is nice If you could get away from using the FDCSoft task manager to import .reg files it would be perfect!
Idea looks great.
The only thing I'm missing here is;
*Quick lauch icons on the 3 home screens
-Would like to backup these icons in the exact order and every app should be installed, so each quick launch icon should referr to that perticular app.
After every install of any new energy ROM it is so much work to order and fill in the 3 home screens quick launch icons and apps
Kind Regards
[email protected]
ROM: Energy Dinik style 22nd June
Radio: 2.10.50.28_2
HSPL: 2.08 HSPL
History
[2010/11/02] UC_NET v 0.9.4.4
new command "Refresh Today screen" is added. Just create an empty file UC_NET_RefreshToday.txt in your folder, and the program will refresh today screen.
This command is executed after all other things in the folder, as a last step.
the program will show the message about cprog.exe if you run PPCPimBackup.exe, using UC_NET_Run command. It works exactly like it works when you are restoring pib file.
UC_NET_BackupReg is improved - the program now checks if registry keys exist, and doesn't create empty files if key doesn't exist.
UC_NET_Delete, UC_NET_Copy and UC_NET_Move are improved - all of them support masks now, and all these commands work with files and directories.
for example, now you can delete all files and directories in a folder with one UC_NET_Delete command, if you give it \myFolder\* as a parameter.
if you need a command that works only with files, add "Files" to its name (for example, UC_NET_CopyFiles)
if you need a command that works only with directories, add "Directories" to its name (for example, UC_NET_DeleteDirectories)
small bugfixes
Code:
[2010/10/22] UC_NET v 0.9.4.3
[LIST]
[*] Now the program uses safe code to control power during customization.
This version of UC_NET doesn't use registry keys related to power and back light to prevent device from sleep during customization.
Previous version, like original XDA_UC, used registry to keep back light "always on" - it's unsafe, because if your device was reset before the end of customization, these registry keys were not restored.
[*] Polish localization is updated (thanks to Bysio)
[*] UC_NET current version is added to log file.
[*] Sense SDK message boxes were replaced with standart message boxes to make program more stable (because there are no bugfixes for Sense SDK)
[/LIST]
[2010/10/14] UC_NET v 0.9.4.2
[LIST]
[*] new localizations were added:
Chinese (Simplified),zh-Hans
Polish, pl
Spanish, es-ES
[*] [Cancel] is added to the list of groups.
[*] [Pause] and [Resume] were added to customization window. You can use this to tell program you want to pause before next step of customization.
[*] New commandline parameter /base="path to your folder" - use it if you want to select any of your folders when UC_NET starts.
[*] "Create shortcut" is added to the main menu - use it to create shortcut in Start Menu, that will launch UC_NET and automatically select current folder.
[*] new variables:
"ShellFolders.Windows" - value of HKLM\System\Explorer\Shell Folders\Windows
"ShellFolders.StartUp" - value of HKLM\System\Explorer\Shell Folders\StartUp
"ShellFolders.Recent" - value of HKLM\System\Explorer\Shell Folders\Recent
"ShellFolders.Programs" - value of HKLM\System\Explorer\Shell Folders\Programs
"ShellFolders.ProgramFiles" - value of HKLM\System\Explorer\Shell Folders\Program Files
"ShellFolders.MyDocuments" - value of HKLM\System\Explorer\Shell Folders\My Documents
"ShellFolders.Fonts" - value of HKLM\System\Explorer\Shell Folders\Fonts
"ShellFolders.Favorites" - value of HKLM\System\Explorer\Shell Folders\Favorites
"ShellFolders.Desktop" - value of HKLM\System\Explorer\Shell Folders\Desktop
"ShellFolders.ApplicationData" - value of HKLM\System\Explorer\Shell Folders\Application Data
[*] log file now includes all variables for current ROM in the beginning
[*] errors and warnings summary are added to the end of log file.
[/LIST]
[2010/09/28] UC_NET v 0.9.4.0
[LIST]
[*] UC_NET_CopyFiles is fixed. (it was broken in 0.9.3.1, it always worked as move command).
[*] UC_NET_BackupReg - - new command, uses FS_TaskMgr.exe /regxpkey feature.
format for this command is
filepath=[regkey]
filepath2=[regkey2]
...
[*] system variables are now supported for Copy2Root folder.
see attached UC_NET_v0.9.4.0_test.zip
for example everithing from Copy2Root\Environment.SpecialFolder.StartMenu
will be copied to \Windows\Start Menu if you run 0409 localization of Windows Mobile.
[*] UC_NET_DeleteFiles is renamed to UC_NET_Delete as it can delete files and folders.
[/LIST]
[2010/09/27] UC_NET v0.9.3.1
[LIST]
[*] *.cereg files are supported
[*] program now uses last pib file, this allows you to keep several backups in the same folder and only the latest will be restored with PIMBackup.
[*] empty groups are hidden in the group list, especially root folder
[*] "*" and "?" masks are supported for UC_NET_CopyFiles command (if you are using mask, destination parameter should be a folder name, as you cannot copy several files to one file)
[*] same command files in a folder are processed in strict alphabetical order, (for ex. UC_NET_CopyFiles_0 comes first, then UC_NET_CopyFiles_8)
[*] UC_NET_MoveFiles - new command, works exactly like UC_NET_CopyFiles, but moves files. You can use it to rename files as well.
[*] UC_NET_Run - new command, each line of such file is a path to your application (or script, or anything that can run). UC_NET will start program and wait until it finishes. You can pass parameters to your program. In this case Use quotes around path and then place a parameters.
for example:
"notepad.exe" my_text_file.txt
this will start notepad.exe and pass my_text_file.txt as parameter.
[*] UC_NET_Execute - new command, works exactly like UC_NET_Run, but doesn't wait for complete and continue with next customization step.
[*] Run - special folder (like Copy2Root). You can create Run folder and place your your application (or script, or anything that can run) in this folder. UC_NET will try to execute everything from Run folder. It's good for self extracting archives for example.
UC_NET will wait for every program before it will start next (like UC_NET_Run command).
[*] Execute - special folder, works exactly like Run, but doesn't wait.
[*] Current version of Fr and De localizations are included.
[/LIST]
[2010/07/30] UC_NET v0.9.2.1
[LIST]
[*] Presets from v0.9.1 are replaced with [URL="http://forum.xda-developers.com/showpost.php?p=7413758&postcount=68"]more powerful Groups[/URL]. See attached QuickStart_XDA_UC_advanced_template.zip
[*] Dutch translation - thanks to [URL="http://forum.xda-developers.com/showpost.php?p=7412941&postcount=64"]webpatrick[/URL]
[/LIST]
[2010/07/27] UC_NET v0.9.1
[LIST]
[*] New presets system - more flexible customization.
You can sort you programs and tweaks and install only part of them! (And install another part later)
=) see included UC_NET_presets_template.zip for example.
[*] Arabic localization is ready ([URL="http://forum.xda-developers.com/showpost.php?p=7363890&postcount=51"]thanks to AbdullahSZ[/URL])
[*] Check if ROM security is relaxed (and fix it if needed)
[*] DisableFinalMessage - new option for Chefs. Use it if you want to disable "...Reset Now?" dialog.
[*] You can use comments in your portable commands. Any line that starts with a #, ; or // is a comment.
[*] Fixed bug with Copy Folders. (thanks to log file =)
[/LIST]
[2010/07/22] UC_NET v0.8.1
[LIST]
[*] (W)VGA improvements
[*] Russian localization ready, [URL="http://forum.xda-developers.com/showthread.php?t=709557"]read here to add more languages[/URL]
[*] for chefs - option to disable Exit in menu.
[*] you can add your own message to UC_NET_WelcomeMessage.txt and save put it to your folder. message will be shown when you select this folders. (For example, imagine you have one folder for games, one for GPS and so on).
[*] small tweaks here and there. =)
[/LIST]
[2010/07/19] UC_NET v0.7
[LIST]
[*] new GUI is created using [URL="http://forum.xda-developers.com/showthread.php?t=648906"]Sense Interface SDK v1.39[/URL].
[*] delete command now can delete the specified directory and any subdirectories and files in the directory.
[*] warning is displayed if pim.vol and PPCPimBackup are used at the same time
[/LIST]
[2010/07/07] UC_NET v0.6 new features
[LIST]
[*] for chefs - new option to run on any boot with any folder selected
[*] for chefs - new option to display given message in any language when program autoruns
[*] for users - wildcards are supported for Delete command. for example
[CODE]StorageManager.Profiles.SDMemory\_test_del\*.txt
will delete all txt files in my folder _test_del on storage card.
[/LIST]
[2010/07/02] UC_NET v0.5 new features
new portable command UC_NET_Magic_CreateShortcuts. example.
new variables for SDCards names
rgu files supported (as reg files)
you can open last log from menu now.
internal engine improvement - UC_NET detects ROM files in copy and replace operations.
[2010/06/29] UC_NET v0.4 new features
NEW - portable commands. Now you can put files with commands in your XDA_UC folders. I suggest to use this in-place of XDA_UC registry commands.
New - portable mode (active by default, see menu). "Portable" means no commands from registry will be used. This is good for users. UC_NET will just process selected folder and do not recreate shortcuts defined by Chef and so on. Tell me how do you like this new feature.
pim.vol copy to root is supported.
internal engine feature - delete locked files on next reboot.
[2010/06/26] UC_NET v0.3 new features
now you can use any folder on device as a root for customization.
command line params
/CreateShortcuts - creates shortcuts for all files listed under
HKLM\Software\XDA\AutoShortCut
/CopyDirectories- copies all directories (including all files and subfolders) listed under
HKLM\Software\XDA\DirCopy
/CopyFiles- copies all single files listed under
HKLM\Software\XDA\FileCopy
/Delete- deletes all files listed under
HKLM\Software\XDA\Delete
loacalization support - no more hardcoded strings like \Windows\Start Menu\Programs\, that depends on ROM locale. Use Environment.SpecialFolder Enumeration
for example, this key will delete UC_NET_FirstBoot.lnk from Startup folder.
Code:
[HKEY_LOCAL_MACHINE\Software\XDA\Delete]
"Environment.SpecialFolder.Startup\\UC_NET_FirstBoot.lnk"=""
Package for Chefs is released - tested it in my own ROM
[2010/06/25] UC_NET v0.2 new features
support XDA_UC Copy2Root feature - copy everything from Copy2Root folder to device, without any reg keys.
run MortScript files if any. MortScript must be installed or cooked (you can install using cab and UC_NET of course =).
you can run TaskManager right from UC_NET window.
save log as text file.
timestamps in log.
[2010/06/24] UC_NET v0.1 - first release, preview.[/CODE]
NRGZ28 said:
This is nice If you could get away from using the FDCSoft task manager to import .reg files it would be perfect!
Click to expand...
Click to collapse
UC_NET uses FDCSoft task manager in silent mode. It's almost invisible =)
Anyway, now I finished with most features, and will implement registry files parser. (It's strange, but there is no such thing in WinAPI).
Tried it today and it works perfect! Thanks for sharing! (You got the date wrong in v0.4 change log)
Where can I put folders and files to have automatically copied over. In SASHIMI, you put them in the Auto/Root folder
For example:
\Storage Card\SASHIMI\Auto\Root\Program Files
The folder and all it's sub-folders and contents would be copied to \Program Files
I tried naming a folder within the XDA_UC folder CopytoRoot and DirCopy and neither worked. What do I need to do?
name it Copy2Root
not CopyToRoot
I have an idea for next v0.5:
I see it's not very clear how to create shortcuts with XDA_UC.
Imagine this - you can create shortcuts for all *.exe files in folder (and its subfolders). Just
1. create text file named like UC_NET_Magic_CreateShortcuts.txt in your XDA_UC folder
2. add parameters to it
destination folder=source folder
destination folder 2=source folder 2
and so on.
for example if I add
Code:
Environment.SpecialFolder.Programs\My Utils=\Storage Card\MyPortableUtils
UC_NET will create folder My Utils in Start Menu and then it will create shortcuts for all programs from \Storage Card\MyPortableUtils in this folder.
What do you think? =)
[2010/07/02] UC_NET v0.5 new features
new portable command UC_NET_Magic_CreateShortcuts. example.
new variables for SDCards names
rgu files supported (as reg files)
you can open last log from menu now.
internal engine improvement - UC_NET detects ROM files in copy and replace operations.
Hi. I'd like to use yout app on my Omnia2 with Rapid's Sense 6.5, but there are some issues.
All I did was:
Copy the cabs in an XDA_UC named dir placed in my "install" folder on Storage Card.
Uncompressed the app, started the exe.
Selected the XDA_UC dir.
Pressed customize.
Then it installed MortScript.cab, and none of the others. Instead it says: [13:09:19][13:09:20][\Storage Card\install\XDA_UC][Install CABs silent][ERROR]\Storage Card\install\XDA_UC\cabname.CAB, Exception:wceload.exe returns -2147024891
for all of the cabs I want to install(cabname is always different ofc). Could you help me please?
wceload.exe returns -2147024891, "access denied", on you ROM.
Try this - install one of your cabs manually.
If installing cab by tapping on it, would normally display a security
warning for not being signed, then wceload.exe will fail in silent mode.
In this case you need to relax your ROM security.
This is in the Requirements of original XDA_UC:
"The Rom should have the security relaxed in HKLM\Security\Policies\Polices by setting the value 0000101a to a 1.
So unsigned installations and Mortscript do not give a security error."
Try to add this to your registry.
serfer222 said:
wceload.exe returns -2147024891, "access denied", on you ROM.
Try this - install one of your cabs manually.
If installing cab by tapping on it, would normally display a security
warning for not being signed, then wceload.exe will fail in silent mode.
In this case you need to relax your ROM security.
This is in the Requirements of original XDA_UC:
"The Rom should have the security relaxed in HKLM\Security\Policies\Polices by setting the value 0000101a to a 1.
So unsigned installations and Mortscript do not give a security error."
Try to add this to your registry.
Click to expand...
Click to collapse
I see, thanks. There is a registry app in which I can disable security. I'll do that.
Thanks agai and keep up the good work!
This is pretty awesome. Lightweight alternative to SASHIMI. It works great!
Things you will need:
- Java SDK -> Download from HERE
- baksmali-1.3.2.jar and smali-1.3.2.jar-> Download from HERE
- Notepad++-> Download from HERE
Step One:
-> Create a folder named "project" on your desktop and put the "baksmali-1.3.2.jar" and "smali-1.3.2.jar" inside;
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Step Two:
-> Copy your ROM to "Project" folder and open it and extract the file "services.jar" from "system/framework";
Step Three:
-> Extract "classes.dex" from "services.jar" (using winrar) to "Project" folder;
Step Four:
-> Decompile "classes.dex" using baksmali.jar
- Open cmd with administrator rights
- Go to "Project" folder (cd "C:/Users/[your username account]/Desktop/Project/")
- Decompile the file entering this on cmd-> java -jar baksmali-1.3.2.jar classes.dex
- A folder named "out" should now be created
- Go to "out\com\android\server" and open "NotificationManagerService" with notepad++
- Add a # at the beggining of the following lines:
line 1933
before:
if-nez v4, :cond_18
Click to expand...
Click to collapse
after:
#if-nez v4, :cond_18
Click to expand...
Click to collapse
line 1983
before:
if-nez v4, :cond_3d
Click to expand...
Click to collapse
after:
#if-nez v4, :cond_3d
Click to expand...
Click to collapse
save the file and close notepad++;
Step Five:
-> Re-compile classes.dex
- Open cmd as administrator rights
- Go to "Project" folder (cd "C:/Users/[your username account]/Desktop/Project/")
- Re-compile the file entering this on cmd-> java -jar smali-1.3.2.jar -o "C:/Users/[your username account]/Desktop/Project/classes_edited.dex" "C:/Users/[your username account]/Desktop/Project/out"
- A file named "classes_edited.dex" should now be created on "Project" folder;
Step Six:
- Delete "classes.dex" (the old one) and change the name of the new one from "classes_edited.dex" to "classes.dex" and delete the "out" folder
- Open "services.jar" (with winrar) and put the "classes.dex" file at root (it will overwritte automatically). You can delete the "classes.dex" file from "Project" folder.
- Open your rom and copy the "services.jar" file to "system/framework" (it will overwritte automatically). You can delete the "services.jar" file from "Project" folder.
Now just flash the rom via cwm and enjoy BLN for sms!
Issues:
If you are expecting issues in cmd when entering-> java (bla bla bla) you have to do this:
Open the start menu, right click on Computer, and click properties. On the lefthand bar, the bottom option should say "Advanced System Settings". Click this, then click Environment Variables.
Find the variable in the BOTTOM box, that says Path, or PATH. Click on this, and click edit. Now, find the path of your JDK, and find the folder called "bin", usually something like
C:\Program Files\Java\jdk1.5.0_11\bin
Click to expand...
Click to collapse
Thx to Prawesome for helping me!
Nice work darknight_jao.A few suggestions for the guide You could add this to the guide in case the guy who is decompiling classes.dex wants to change it around a bit.
Rename baksmali-1.3.2.jar to baksmali and smali-1.3.2.jar to smali for ease of typing Also,to define the name of the output folder,the codes should be changed to:
Code:
java -jar baksmali.jar -o <out name>
To define Java heap size to 512M
Code:
java -jar -Xmx512 baksmali.jar -o out
For viewing command list
Code:
java -jar baksmali.jar
The same goes for smali.jar too
thx man!
darknight_joao said:
thx man!
Click to expand...
Click to collapse
Not a problem
Awesome!
darknight_joao said:
Things you will need:
- Java SDK -> Download from HERE
- baksmali-1.3.2.jar and smali-1.3.2.jar-> Download from HERE
- Notepad++-> Download from HERE
Step One:
-> Create a folder named "project" on your desktop and put the "baksmali-1.3.2.jar" and "smali-1.3.2.jar" inside;
Step Two:
-> Copy your ROM to "Project" folder and open it and extract the file "services.jar" from "system/framework";
Step Three:
-> Extract "classes.dex" from "services.jar" (using winrar) to "Project" folder;
Step Four:
-> Decompile "classes.dex" using baksmali.jar
- Open cmd with administrator rights
- Go to "Project" folder (cd "C:/Users/[your username account]/Desktop/Project/")
- Decompile the file entering this on cmd-> java -jar baksmali-1.3.2.jar classes.dex
- A folder named "out" should now be created
- Go to "out\com\android\server" and open "NotificationManagerService" with notepad++
- Add a # at the beggining of the following lines:
line 1933
before:
after:
line 1983
before:
after:
save the file and close notepad++;
Step Five:
-> Re-compile classes.dex
- Open cmd as administrator rights
- Go to "Project" folder (cd "C:/Users/[your username account]/Desktop/Project/")
- Re-compile the file entering this on cmd-> java -jar smali-1.3.2.jar -o "C:/Users/[your username account]/Desktop/Project/classes_edited.dex" "C:/Users/[your username account]/Desktop/Project/out"
- A file named "classes_edited.dex" should now be created on "Project" folder;
Step Six:
- Delete "classes.dex" (the old one) and change the name of the new one from "classes_edited.dex" to "classes.dex" and delete the "out" folder
- Open "services.jar" (with winrar) and put the "classes.dex" file at root (it will overwritte automatically). You can delete the "classes.dex" file from "Project" folder.
- Open your rom and copy the "services.jar" file to "system/framework" (it will overwritte automatically). You can delete the "services.jar" file from "Project" folder.
Now just flash the rom via cwm and enjoy BLN for sms!
Issues:
If you are expecting issues in cmd when entering-> java (bla bla bla) you have to do this:
Thx to Prawesome for helping me!
Click to expand...
Click to collapse
Thankyou brother
no problem
im glad i could help!
after replacing services.jar, we delete dalvik-cache and data/data, services.jar only files old, for regeneration new
Hey Guys,
I found it very hard to find this method on the net. I looked for around 12 hours (over a period of 2 days). But here it is!
This method is very helpful if you need to increase the length of your signature on your apk. As Google Play has a minimum length of validity for signatures.
This tutorial contains some knowledge from other websites and some from my own self. Please feel free to use my hard work below. But try to reference me if you can. Thanks!
First of all,
jarsigner and keytool are .exe files that help create your "signed" application for release to the market to prevent fraud.
1.
Make a folder somewhere called "keytools" and make a folder in that called "key"
2. Now move your apk file to the folder keytools.
(Not inside any other folders)
3. Check
"C:\Program Files\Java\jdk1.7.0_11\bin" for jarsigner and keytools..
... or whatever jdk version you have
If you DONT have it install the following: http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html
4. open cmd.exe,
5. cd your way to where you have your keytools folder...
I had to do.. cd desktop, and to keytools to get to C:\Users\Matt\Desktop\keytools\
In this directory is you apk file which we will manipulate.
Now add the directory C:\"Program Files"\Java\jdk1.7.0_11\bin\ or something like that to PATH in Environment Variables.
Directions on how to do this can be found here: http://www.computerhope.com/issues/ch000549.htm
type the following now (or something similar to my example)
keytool -genkey -alias xda.keystore -keyalg RSA -validity 20000 -keystore keys/xda.keystore
Then you will have be presented with:
Enter keystore password: (type in a password you will use)
Re-enter new password: (type in same password here)
What is your first and last name? Matt <LAST NAME HERE>
What is the name of your Organization unit? (You dont NEED to type anything)
What is the name of your city or locality? <What it says>
What is the name of your state or providence? <What it says>
what is the two-letter country code for this unit? AU
is CN=Matt C=AU.....etc. correct?
[no]: yes (type yes there)
Enter key password for <xda.keystore>
<RETURN if same as keystore password>: (push enter)
6.
To add the directory of jarsigner to the PATH variable just do the steps from here: http://www.computerhope.com/issues/ch000549.htm but with the path of jarsigner. Which should be something like this: echo "PATH=/cygdrive/c/Program\ Files/Java/jdk1.7.0.11/bin:\${PATH}" >> .bash_profile
Now, type the following now (or something similar to my example) NOTE: This is all in cmd.
jarsigner -verbose -keystore key/donate.keystore -signedjar Donate_signed.apk xda.apk xda.keystore
Enter Passphase for keystore: (your password you made earlier)
DO NOT TYPE --> adding: META-INF/MINFEST.MF ....
.......
.....
...Signing: classes.dex <--DO NOT TYPE
and you're all set! you signed your apk file or whatever you wanted to create!
Congratulations.
NOW STOP BEING FRUSTRATED LIKE I WAS FOR HOURS!
Or, if your using Eclipse just right-click your project and choose Android Tools > Export Signed Application Package.. and follow the export wizard.
@M4ttz
Thanks a lot mate!!!!!!!!!
mytheme_signed.apk is created! Let's go to Google Play
EDIT
Google told me that I need to zipalign my apk file.... If I zipalign Google says that my file isn't signed!!!!
Hi all...
I present a guide to port the function Autostarts inside your Settings.
This guide as tested on Xperia JB Settings, Xperia ICS Settings line 2012 and Xperia ICS Settings line 2011.
You need:
-Basic knowledge to decompile/ compile apk and edit smali files.
-Apktools or similar tool to decompile apk.
-Notepad++ (is more easy edit on this).
-Patience.
Click to expand...
Click to collapse
¡¡¡¡BEGIN!!!!
1° Decompile your Settings.
2° Download the zip file in the atchments "ResourcesAutostarts" and decompressed.
-The decompressed file is a folder to name: "Settings".
NOTE: If your decompile Settings have a other name, rename to "Settings" for more easy steps to this guide.
3° Copy and Paste the Settings folder decompressed to ResourcesAutostarts in to your folder to decompile the Settings.apk
-Its for add the resources autostarts in your decompile Settings.
4° Now, in your decompile Settings, navigate to next route: Settings/res/values/ and open ids.xml with your note edit and add in the end the next code:
Code:
<item type="id" name="autostarts_settings">false</item>
<item type="id" name="appName">false</item>
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
-Save and close the ids.xml
4° On this route, open the Strings.xml and add the next code in the end of file:
Code:
<string name="autostarts_title">Autostarts</string>
<string name="autostarts_allowed">Has allowed</string>
<string name="autostarts_prohibited">Has Prohibited</string>
<string name="autostarts_allow_progress_msg">Being restored boot, please wait...</string>
<string name="autostarts_prohibit_progress_msg">Prohibit boot, please wait...</string>
<string name="autostarts_empty_msg">No installation boot applications</string>
<string name="autostarts_optimize_empty_msg">No optimize the startup items</string>
<string name="autostarts_optimize_btn_title">Optimize the startup items</string>
<string name="autostarts_all_btn_title">All autostarts items</string>
-Save and close the the String.xml
5° Now, navigate to the next route: Settings/res/xml and open the file settings_headers.xml and add the next code in the end... Guide with the screenshot.
Code:
<header android:icon="@drawable/ic_settings_autostarts" android:id="@id/autostarts_settings" android:title="@string/autostarts_title" android:fragment="com.android.settings.autostarts.LewaManageAutostarts" />
NOTE: in this case the access to Autostarts is in the principal menu but is possible add the autostarts in others menus...
-Save and close the file settings_headers.xml
6° NOW, COMPILE YOUR SETTINGS AND AFTER COMPILE, DECOMPILE THE NEW SETTINGS AGAIN.
NOTE 1: In this moment, the next steps is in the new decompile Settings.
NOTE 2: at this time, put attention!!!!!
7° NOW, in the new decompile Settings, navigate to next route System/res/values and only open the file public.xml... this file is your guide for the autostarts fully working.
8° In the new decompile Settings, navigate to next route: System/smali/com/android/settings/autostarts and open with your note edit the file "LewaManageAutostarts$AppAdapter.smali" and:
-Search the line 164 and check this code "0x7f040088"
-In your open file "public.xml" search the next " manage_autostarts_item " and check your respective id...
-Copy the id from "manage_autostarts_item" and replace to the original code in the line 164.
-Save.
-Search the line 174 and check this code "0x7f080028"
-In your open file "public.xml" search the next " icon " and check your respective id...
-Copy the id from "icon" and replace to the original code in the line 174.
-Save.
-Search the line 195 and check this code "0x7f08020a"
-Go to the open file "public.xml" and search the next " appName " and check your respective id...
-Copy the id from "appName" and replace to the original code in the line 195.
-Save.
-Search the line 217 and check this code "0x7f080018"
-Go to the open file "public.xml" and search the next " status " and check your respective id...
-Copy the id from "status" and replace to the original code in the line 195.
-Save.
-Search the next line 236 and check this code "0x7f0800ac"
-Go to the open file "public.xml" and search the next " app_on_sdcard " and check your respective id...
-Copy the id from "app_on_sdcard" and replace to the original code in the line 236.
-Save.
9° NOW, save and close the file "LewaManageAutostarts$AppAdapter.smali".
10° NOW, on this route, open the file "LewaManageAutostarts.smali" and search:
-Search the line 190 and check this code "0x7f0b06b2"
-In your open file "public.xml" search the next "autostarts_allow_progress_msg" and check your respective id...
-Copy the id from "autostarts_allow_progress_msg" and replace to the original code in the line 190.
-Save.
-Search the line 305 and check this code "0x7f0b06af"
-In your open file "public.xml" search the next "autostarts_allowed" and check your respective id...
-Copy the id from "autostarts_allowed" and replace to the original code in the line 305.
-Save.
-Search the line 401 and check this code "0x7f0b06b0"
-In your open file "public.xml" search the next "autostarts_prohibited" and check your respective id...
-Copy the id from "autostarts_prohibited" and replace to the original code in the line 401.
-Save.
-Search the line 584 and check this code "0x7f0b06b6"
-In your open file "public.xml" search the next "autostarts_all_btn_title" and check your respective id...
-Copy the id from "autostarts_all_btn_title" and replace to the original code in the line 584.
-Save.
-Search the line 612 and check this code "0x7f0b06b5"
-In your open file "public.xml" search the next "autostarts_optimize_btn_title" and check your respective id...
-Copy the id from "autostarts_optimize_btn_title" and replace to the original code in the line 612.
-Save.
-Search the line 632 and check this code "0x7f040087"
-In your open file "public.xml" search the next "manage_autostarts" and check your respective id...
-Copy the id from "manage_autostarts" and replace to the original code in the line 632.
-Save.
-Search the line 688 and check this code "0x7f0b06b3"
-In your open file "public.xml" search the next "autostarts_empty_msg" and check your respective id...
-Copy the id from "autostarts_empty_msg" and replace to the original code in the line 688.
-Save.
-Search the line 765 and check this code "0x7f0b06b5"
-In your open file "public.xml" search the next "autostarts_optimize_btn_title" and check your respective id...
-Copy the id from "autostarts_optimize_btn_title" and replace to the original code in the line 765.
-Save.
-Search the line 772 and check this code "0x7f0b06b3"
-In your open file "public.xml" search the next "autostarts_empty_msg" and check your respective id...
-Copy the id from "autostarts_empty_msg" and replace to the original code in the line 772.
-Save.
-Search the line 792 and check this code "0x7f0b06b6"
-In your open file "public.xml" search the next "autostarts_all_btn_title" and check your respective id...
-Copy the id from "autostarts_all_btn_title" and replace to the original code in the line 792.
-Save.
-Search the line 799 and check this code "0x7f0b06b4"
-In your open file "public.xml" search the next "autostarts_optimize_empty_msg" and check your respective id...
-Copy the id from "autostarts_optimize_empty_msg" and replace to the original code in the line 799.
-Save.
-Finally, search the line 831 and check this code "0x7f0b06b1"
-In your open file "public.xml" search the next "autostarts_allow_progress_msg" and check your respective id...
-Copy the id from "autostarts_allow_progress_msg" and replace to the original code in the line 831.
-Save.
11° NOW, save and close the file "LewaManageAutostarts.smali".
12° To finish, compile your Settings app again and Sign the apk with a tool to sign apk...
Check the screentshot from Setting ICS 2012 (Xperia U) and Settings ICS 2011 (Xperia Mini).
CREDITS:
- @Pandemic && @Mtakween for sources code and necessary files for Autostarts...
This guide is very tedious but if you are patient will not have any problem!!
IF you like my work, please PRESS the thanks button and rate my job!!
Nice guide mate @FranciscoGool
Awesome! Thanks for the guide! Was looking for it!
can you also explain how to add the "add account " option like in your settings?
attack11 said:
Awesome! Thanks for the guide! Was looking for it!
can you also explain how to add the "add account " option like in your settings?
Click to expand...
Click to collapse
Hi... Thanks
ammmmm the function to add accounts in my Settings not work like JB... Sorry, the add function not is the great thing
I managed successfully, but I see no difference at startup?
(Kitkat rom Acer)
Thank you :good:
==================
MSIXHERO
==================
Spoiler: WHAT IS IT?
Msixhero Is an Open Source MSIX Package Manager.
About - MSIX Hero
About MSIX Hero - the ultimate, freeware toolkit and a must-have utility for every MSIX packagers and system administrator.
msixhero.net
Spoiler: WHAT IS AN MSIX PACKAGE MANAGER?
This is a tool that will allow you to be able to create, pack, and sign your own MSIX bundles.
You could also use this tool to Edit an Existing Package like the android subsystem or any other app.
We will use WSA in this example~!
I am putting this up now so we can learn the commands to edit the MSIX bundle, windows subsystem for android,
in CLI~!
I will update when I figure out how to unpack and edit wsa using this tool~!
Peace and Love
<3
Spoiler: COMMAND LINE INTERFACE REFERENCE
Spoiler: SIGN
Signs one or more MSIX packages.
Spoiler: PARAMETERS
Spoiler: STOREMACHINE
--sm (as in StoreMachine)
Specifies that a machine store, instead of a user store, is used. This is a boolean switch, it does not have to be followed by any value. If omitted, the certificate will be looked up in the machine store. This switch makes only sense when combined with --sha1 value.
Spoiler: SHA1
--sha1 <thumbprint>
Selects the certificate based on its thumbprint value. May not be combined with –file.
Spoiler: FILE
--file <pfx-file>
The full path to PFX file used for signing. May not be combined with --sha1.
Spoiler: PASSWORD
--password <password>
Specifies the password for the selected PFX file. May not be combined with --sha1, requires that –file switch is used.
Spoiler: TIMESTAMP
--timestamp <timestamp-url>
The timestamp URL. Ensures that the package will be still signed, even if the original certificate is expired.
Spoiler: INCREASEVERSION
--increaseVersion Major|Minor|Build|Revision|None
Specifies, that the package version should be automatically increased by one when signing. By providing the value, you may choose which component should be increased. The default value (used when no switch is present) is None which means that the package version will stay the same after signing.
Spoiler: NOPUBLISHERUPDATE
--noPublisherUpdate
Prevents MSIX Hero from updating the publisher name. By default, the publisher name is taken from the certificate subject – both of them must be the same for the signing to succeed. If you want to control the publisher name on your own or have a granular error reporting in case of mismatches, use this switch. In case of a mismatch, an error will be reported.
Spoiler: DG
--dg (as in Device Guard)
Specifies that Device Guard Signing is to be used. The login will be performed interactively, that is in a pop-window that will be spawned after executing the command. This option should not be used for silent, unattended signing, because it will wait for a dialog to be confirmed by the user. This switch must not be combined with –dgf.
Spoiler: DGF
--dgf <file-path> (as in Device Guard File)
Specifies that Device Guard Signing is to be used. The JSON file path must contain valid access and refresh token, which you should create on your own using the technique outlined here: https://docs.microsoft.com/en-us/wi...ce-guard-signing#get-an-azure-ad-access-token. This switch must not be combined with –dg.
Spoiler: DGVL
--dgv1 (as in Device Guard V1)
Specifies that the DGSS v1 API will be used. Usage of V1 is not recommended because the API is obsolete and will be deprecated soon. This switch must be used together with –dg or –dgf.
Spoiler: DGP
--dgp <publisher-name> (as in Device Guard Publisher)
Specifies the name (publisher name) used for signing. If this parameter is omitted, MSIX Hero will determine the name for you. This option is recommended if you know the name, because signing without this switch requires an extra round trip to AzureAD and making a test signing. If this switch is used, you should make sure that the value matches the actual certificate subject, otherwise an error will be returned. This switch must be used together with –dg or –dgf. This switch has no effect if --noPublisherUpdate is used.
Signing an MSIX package (sign) - MSIX Hero
This article is about the usage of command line interface. More information about CLI usage and how to get started can be found here: Command…
msixhero.net
Spoiler: PACK
Packs a folder of files, containing a manifest and creates MSIX package out of it.
Spoiler: PARAMETERS
Spoiler: NC
–nc (as in NoCompression)
Disables package compression. This is a boolean switch, it does not have to be followed by any value. If omitted, the package is going to be compressed using the default compression algorithm.
Spoiler: NV
–nv (as in NoValidation)
Disables the semantic validation. This is a boolean switch, it does not have to be followed by any value. If omitted, the package will not be validated for the full correctness of the manifest file. Using this switch is not recommended.
Creating an MSIX from a directory (pack) - MSIX Hero
This article is about the usage of command line interface. More information about CLI usage and how to get started can be found here: Command…
msixhero.net
Spoiler: UNPACK
Unpacks an MSIX package to the specified folder.
Spoiler: EXAMPLE
MSIXHeroCLI.exe unpack --package <path-to-package.msix> --directory <extraction-path>
Unpacking a package (unpack) - MSIX Hero
This article is about the usage of command line interface. More information about CLI usage and how to get started can be found here: Command…
msixhero.net
Spoiler: NEWCERT
Creates a new certificate for package signing (self-signed)
Spoiler: PARAMETERS
Spoiler: IMPORT
–import (-i)
If defined, the new certificate will be automatically imported to the Trusted People store. You must run MSIX Hero as an administrator in order to be able to use this switch. Otherwise, access denied error will be returned when trying to import the certificate.
Spoiler: VALIDUNTIL
–validUntil
The expiration date (in a format returned by default by Get-Date cmdlet). If not provided, one-year validity period will be used. Note that this option has been available since MSIX Hero 1.4.3.
Creating a new certificate for signing (newcert) - MSIX Hero
This article is about the usage of command line interface. More information about CLI usage and how to get started can be found here: Command…
msixhero.net
Spoiler: TRUST
Imports a selected certificate (.cer/.pfx) or imports a certificate from a selected MSIX package to the Trusted People store.
Trusting a publisher (trust) - MSIX Hero
This article is about the usage of command line interface. More information about CLI usage and how to get started can be found here: Command…
msixhero.net
Spoiler: APPATTACH
Creates VHD file from a selected MSIX package (for MSIX app attach).
Spoiler: PARAMETERS
Spoiler: CREATESCRIPTS
–createScripts (shorthand -c)
When defined, sample scripts for app attach (registering, staging, de-staging and de-registering) will be created and saved together in the directory, specified by the --directory (-d) switch. Four scripts will be created: stage.ps1, register.ps1, deregister.ps1 and destage.ps1.
Spoiler: FILETYPE
–fileType <vhd|vhdx|cim>
Declares the output format. The default value is VHD. This parameter is available in MSIX Hero 2.2 and newer.
Spoiler: EXTRACTCERT
–extractCert (shorthand -e)
When defined, the digital certificate will be extracted from the MSIX package and put in the directory, specified by the --directory (-d) switch. The name of the file will be the same as the name of the MSIX file or as the value of the optional parameter --name (-n).
Spoiler: SIZE
–size <#> (shorthand -s <#>)
Specifies the maximum dynamic size of VHD disk. If not set, MSIX Hero uses an optimal size, which ensures that the package fits and has a reasonable buffer. The size specified by this parameter should be expressed in megabytes. If you provide a value lower than the total size of expanded files, an error will be returned.
Spoiler: NAME
–name <X> (shorthand -n <X>)
By default, the names of the VHD file and the extracted certificate file (if switch --extractCert or -e was used) are equal to the name of the MSIX package. By providing this optional parameter you can choose the name you want.
Creating VHD for MSIX app attach (appattach) - MSIX Hero
This article is about the usage of command line interface. More information about CLI usage and how to get started can be found here: Command…
msixhero.net
Spoiler: EDIT
Edits a package specified by the first argument.
Creates a new modification package.
Spoiler: PARAMETERS
Spoiler: PACKAGENAME
--packageName
The new package name. This must be a valid value, according to MSIX requirements.
Spoiler: PUBLISHER
--publisher
The new publisher name. This must be a valid DN string, for example CN=User, DN=domain, DN=local. Because the value may contain spaces, you should always enclose it with double quotes.
Spoiler: PACKAGEVERSION
--packageVersion <new-package-version-or-update-pattern>
The new package version, either as a full version string (for example 1.2.3.4) or a literal tag auto, which will increase the current version on its fourth position (for example, changing current version 1.2.3.4 to 1.2.3.5), or a pattern used to adapt the current package version. In the latter case, use * or x to take over the current value, and + or ^ to increase the current value by one. For example, using the following pattern *.*.+.0 would keep the major and minor version from the current value, increase the third position by one, and reset the fourth position to 0.
Spoiler: PROCESSORARCHITECTURE
--processorArchitecture <new-processor-architecture>
The new processor architecture, for example neutral or x64. This must be a valid value, according to MSIX requirements.
Spoiler: RESOURCEID
--resourceId <new-resource-id>
The new resource ID. This must be a valid value, according to MSIX requirements.
Editing a package (edit) - MSIX Hero
This article is about the usage of command line interface. More information about CLI usage and how to get started can be found here: Command…
msixhero.net
Spoiler: NEWMODPACK
Spoiler: PARAMETERS
Spoiler: REGISTRY
–registry
Specifies the full path to a Windows Registry (.reg) file with extra registry keys and values that will be written to the new modification package.
Spoiler: FOLDER
–folder
Full path to a folder with files and subfolders that will be added to the root folder of the new modification package.
Spoiler: COPYFOLDERSTRUCTURE
–copyFolderStructure
This option is only valid if the parameter –parentPath is used AND the output path does not have .msix extension. If the parameter is present, MSIX Hero extracts the structure of VFS folder from the parent package and put it as a placeholder in a place relative to the newly created AppxManifest.xml.
Creating an MSIX Modification Package (newmodpack) - MSIX Hero
This article is about the usage of command line interface. More information about CLI usage and how to get started can be found here: Command…
msixhero.net
Spoiler: DOCUMENTATION
Spoiler: CREATING VHD FOR MSIX APP ATTACH
Creating VHD for MSIX app attach - MSIX Hero
Learn how to create VHD files for the purpose of WVD MSIX app attach with a freeware tool MSIX Hero, a must-have utility for MSIX packagers and administrators.
msixhero.net
Spoiler: SIGNING MSIX PACKAGES
How to sign MSIX packages? - MSIX Hero
Signing MSIX packages is easy with MSIX Hero. Just select a certificate (store or PFX) and let the program sign the app + adjust the manifest.
msixhero.net
Spoiler: SIGNING MSIX PACKAGES WITH DEVICE GUARD
Signing MSIX packages with Device Guard - MSIX Hero
MSIX Hero 1.5.0 can sign packages with Device Guard Signing Service. According to Microsoft: Device Guard signing is a Device Guard feature that is available in…
msixhero.net
Spoiler: VIEWING VIRTUAL REGISTRY KEYS FROM AN MSIX APP
Viewing virtual registry keys from an MSIX app - MSIX Hero
MSIX Hero mounts the registry file in order to make it browsable. Alternatively, start regedit in the package context to see the merged registry.
msixhero.net
Spoiler: PUBLISHING WINGET AND EDITING YAML FILES
Publishing to winget with MSIX Hero – Marcin Otorowski
marcinotorowski.com
Spoiler: UPDATE PACKAGES INSTALLED VIA APPINSTALLER FILE
Update packages installed via appinstaller file - MSIX Hero
What is app installer? App installer files (https://docs.microsoft.com/en-us/windows/msix/app-installer/app-installer-root) are a handy technique of a single-click installation of MSIX packages from any source (local, web), at…
msixhero.net
Spoiler: CREATING CERTIFICATE FOR MSIX SIGNING
Creating certificate for MSIX signing - MSIX Hero
Introduction to code signing All Windows 10 packages must be digitally signed so that they can be deployed. The process of signing requires, that the…
msixhero.net
A resource for gathering the Microsoft Store Application's MSIX Bundle, For Editing
https://store.rg-adguard.net/
Just paste in the store link, like for instance , if you want WSA's MSIX Bundle,
Get Windows Subsystem for Android™ with Amazon Appstore from the Microsoft Store
Windows Subsystem for Android™
www.microsoft.com
You would copy the link above, or your preffered app, then paste it on store.rg-adguard.net
Then, scroll all the way to the end of the list to extract the MSIX file...
Spoiler: MAKE A WORK FOLDER
For this case, we will go into C:\ and make a new folder called WSAMOD
We will add a folder called APP, and a Folder called UNPACK
Spoiler: LIKE THIS
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Then paste your MSIX package into the APP folder
Spoiler: LIKE THIS
Spoiler: LASTLY, EXTRACT THE MSIX BUNDLE WITH 7ZIP
IT WILL LOOK LIKE THIS
Spoiler: WHAT ARE WE LOOKING FOR?
DO NOT DECOMPILE FURTHER~! THIS IS JUST TO SHOW YOU WHAT'S IN THIS FILE
Spoiler: WHAT'S IN IT?
Spoiler: HERE'S THE APPXMANIFEST
Interesting~!
XML:
<?xml version="1.0" encoding="utf-8"?>
<Package xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10" xmlns:uap5="http://schemas.microsoft.com/appx/manifest/uap/windows10/5" xmlns:desktop8="http://schemas.microsoft.com/appx/manifest/desktop/windows10/8" xmlns:build="http://schemas.microsoft.com/developer/appx/2015/build" xmlns:mp="http://schemas.microsoft.com/appx/2014/phone/manifest" xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10" xmlns:uap3="http://schemas.microsoft.com/appx/manifest/uap/windows10/3" xmlns:uap4="http://schemas.microsoft.com/appx/manifest/uap/windows10/4" xmlns:uap10="http://schemas.microsoft.com/appx/manifest/uap/windows10/10" xmlns:desktop="http://schemas.microsoft.com/appx/manifest/desktop/windows10" xmlns:desktop2="http://schemas.microsoft.com/appx/manifest/desktop/windows10/2" xmlns:desktop6="http://schemas.microsoft.com/appx/manifest/desktop/windows10/6" xmlns:rescap="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities" xmlns:com="http://schemas.microsoft.com/appx/manifest/com/windows10" xmlns:com2="http://schemas.microsoft.com/appx/manifest/com/windows10/2" xmlns:com3="http://schemas.microsoft.com/appx/manifest/com/windows10/3" IgnorableNamespaces="uap uap3 uap4 uap10 desktop desktop2 desktop6 rescap com com2 com3 desktop8 build">
<Identity Name="MicrosoftCorporationII.WindowsSubsystemForAndroid" Publisher="CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US" Version="1.8.32838.0" ProcessorArchitecture="x64" />
<Properties>
<DisplayName>ms-resource:WsaDisplayName</DisplayName>
<PublisherDisplayName>Microsoft Corp.</PublisherDisplayName>
<Logo>Images\StoreLogo.png</Logo>
<desktop6:FileSystemWriteVirtualization>disabled</desktop6:FileSystemWriteVirtualization>
<desktop6:RegistryWriteVirtualization>disabled</desktop6:RegistryWriteVirtualization>
</Properties>
<Dependencies>
<TargetDeviceFamily Name="Windows.Desktop" MinVersion="10.0.22000.120" MaxVersionTested="10.0.22000.120" />
<PackageDependency Name="Microsoft.VCLibs.140.00.UWPDesktop" MinVersion="14.0.30035.0" Publisher="CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US" />
<PackageDependency Name="Microsoft.UI.Xaml.2.6" MinVersion="2.62108.18004.0" Publisher="CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US" />
<PackageDependency Name="Microsoft.VCLibs.140.00" MinVersion="14.0.30035.0" Publisher="CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US" />
</Dependencies>
<Resources>
<Resource Language="EN-US" />
<Resource Language="EN-GB" />
<Resource uap:Scale="200" />
</Resources>
<Applications>
<Application Id="App" Executable="WsaClient\WsaClient.exe" EntryPoint="Windows.FullTrustApplication">
<uap:VisualElements DisplayName="ms-resource:WsaDisplayName" Description="ms-resource:WsaDescription" BackgroundColor="transparent" Square150x150Logo="Images\MedTile.png" Square44x44Logo="Images\AppList.png" AppListEntry="none">
<uap:DefaultTile Wide310x150Logo="Images\WideTile.png" Square71x71Logo="Images\SmallTile.png" Square310x310Logo="Images\LargeTile.png" />
<uap:SplashScreen Image="Images\SplashScreen.png" />
</uap:VisualElements>
<Extensions>
<desktop:Extension Category="windows.toastNotificationActivation">
<desktop:ToastNotificationActivation ToastActivatorCLSID="18AF5090-C390-45D6-9FF1-CA3E608503B0" />
</desktop:Extension>
<uap:Extension Category="windows.protocol">
<uap3:protocol Name="wsa" Parameters="/launch %1" />
</uap:Extension>
<uap:Extension Category="windows.protocol">
<uap3:protocol Name="wsa-client" Parameters="/deeplink %1" />
</uap:Extension>
<uap5:Extension Category="windows.startupTask" uap10:parameters="/restart 0">
<uap5:StartupTask TaskId="PrelaunchVirtualMachine" Enabled="false" />
</uap5:Extension>
<uap3:Extension Category="windows.appExecutionAlias">
<uap3:AppExecutionAlias>
<desktop:ExecutionAlias Alias="WsaClient.exe" />
</uap3:AppExecutionAlias>
</uap3:Extension>
<com2:Extension Category="windows.comServer">
<com2:ComServer>
<com3:ServiceServer ServiceName="WsaService" LaunchAndActivationPermission="O:SYG:SYD:(A;;11;;;IU)">
<com3:Class Id="D738F5F3-7527-4DD6-BA47-D75688104C46" DisplayName="CLSID_WsaServer" />
</com3:ServiceServer>
<com:ExeServer Executable="WsaClient\WsaClient.exe">
<com:Class Id="18AF5090-C390-45D6-9FF1-CA3E608503B0" DisplayName="CLSID_WsaToastActivator" />
<com:Class Id="df32c7a1-a920-458d-a5c5-0e627f222be9" DisplayName="CLSID_WsaWnsRefreshHandler" />
<com:Class Id="5c3e8567-7095-47c0-98e5-1d196ffcc857" DisplayName="CLSID_WsaWnsPushHandler" />
</com:ExeServer>
<com:SurrogateServer DisplayName="WslDeviceHost_VirtioFs" AppId="58AC9971-23C7-45EA-933F-7B155AA16FC2">
<com:Class Id="5a918e2f-d58a-48d9-be09-36ea1615a7f2" Path="wsldevicehost.dll" ThreadingModel="Both" />
</com:SurrogateServer>
<com:SurrogateServer DisplayName="WslDeviceHost_VirtioFsNoTelem" AppId="d5f8fb32-5694-4d90-9247-0e2bef84489d">
<com:Class Id="9ad48ff0-bd99-41a0-8d93-903239e9d617" Path="wsldevicehost.dll" ThreadingModel="Both" />
</com:SurrogateServer>
<com:SurrogateServer DisplayName="WslDeviceHost_VirtioPmem" AppId="5F30756B-EE0F-4F44-991D-0D51493AF284">
<com:Class Id="BF8A4ADD-EC57-4C12-BB29-263A2DA959B1" Path="wsldevicehost.dll" ThreadingModel="Both" />
</com:SurrogateServer>
<com:SurrogateServer DisplayName="WslDeviceHost_VirtioPmemNoTelem" AppId="a0bfe2b6-75f0-4d35-833c-b5ead384e1ac">
<com:Class Id="0d391720-9780-4575-88ff-bb89716b081f" Path="wsldevicehost.dll" ThreadingModel="Both" />
</com:SurrogateServer>
<com:ExeServer Executable="WsaClient\WsaClient.exe" LaunchAndActivationPermission="O:SYG:SYD:(A;;11;;;IU)(A;;9;;;S-1-15-2-4120862662-1149765626-4064695116-299589112-4208539117-2961988684-1460418210)S:(ML;;NX;;;ME)">
<com:Class Id="286DD941-F692-41ED-A20D-8E8AA9181B10" DisplayName="CLSID_WsaClient" />
</com:ExeServer>
<com:ExeServer Executable="WsaSettingsBroker\WsaSettingsBroker.exe" LaunchAndActivationPermission="O:SYG:SYD:(A;;11;;;IU)(A;;11;;;S-1-15-2-4120862662-1149765626-4064695116-299589112-4208539117-2961988684-1460418210)S:(ML;;NX;;;ME)">
<com:Class Id="92E5D48B-DD18-4339-884F-D6087F81E797" DisplayName="CLSID_WsaSettingsBroker" />
</com:ExeServer>
</com2:ComServer>
</com2:Extension>
<com2:Extension Category="windows.comInterface">
<com2:ComInterface>
<com:Interface Id="C6415BE5-A445-4E28-A0C8-E64B5CE27534" ProxyStubClsid="76913B52-F9EB-4FAE-8DE7-24C20BDCF37B" />
<com:Interface Id="5B40E367-7419-4130-A4F2-A7C5B02DC9A5" ProxyStubClsid="76913B52-F9EB-4FAE-8DE7-24C20BDCF37B" />
<com:Interface Id="6A0E8133-9C70-4193-821F-A6FF231D5665" ProxyStubClsid="76913B52-F9EB-4FAE-8DE7-24C20BDCF37B" />
<com:Interface Id="3C80B0C2-966E-4AC8-BA88-793970E0650B" ProxyStubClsid="76913B52-F9EB-4FAE-8DE7-24C20BDCF37B" />
<com:proxyStub Id="76913B52-F9EB-4FAE-8DE7-24C20BDCF37B" Path="WsaProxy\WsaProxy.dll" />
</com2:ComInterface>
</com2:Extension>
<desktop6:Extension Category="windows.service" Executable="WsaService\WsaService.exe" EntryPoint="Windows.FullTrustApplication"><desktop6:Service Name="WsaService" StartupType="manual" StartAccount="localSystem" /></desktop6:Extension></Extensions>
</Application>
<Application Id="SettingsApp" Executable="WsaSettings.exe" EntryPoint="WsaSettings.App">
<uap:VisualElements DisplayName="ms-resource:WsaSettingsDisplayName" Description="ms-resource:WsaSettingsDescription" Square150x150Logo="Images\MedTile.png" Square44x44Logo="Images\AppList.png" BackgroundColor="transparent">
<uap:DefaultTile Wide310x150Logo="Images\WideTile.png" Square71x71Logo="Images\SmallTile.png" Square310x310Logo="Images\LargeTile.png" />
<uap:SplashScreen Image="Images\SplashScreen.png" />
</uap:VisualElements>
<Extensions>
<uap:Extension Category="windows.protocol">
<uap3:protocol Name="wsa-settings" />
</uap:Extension>
</Extensions>
</Application>
</Applications>
<Extensions>
<desktop6:Extension Category="windows.customInstall">
<desktop6:CustomInstall Folder="CustomInstall" desktop8:RunAsUser="true">
<desktop6:RepairActions>
<desktop6:RepairAction File="WsaSetup.exe" Name="Repair" Arguments="repair" />
</desktop6:RepairActions>
<desktop6:UninstallActions>
<desktop6:UninstallAction File="WsaSetup.exe" Name="Uninstall" Arguments="uninstall" />
</desktop6:UninstallActions>
</desktop6:CustomInstall>
</desktop6:Extension>
<Extension Category="windows.activatableClass.proxyStub">
<ProxyStub ClassId="76913B52-F9EB-4FAE-8DE7-24C20BDCF37B">
<Path>WsaProxy\WsaProxy.dll</Path>
<Interface Name="IWsaClient" InterfaceId="A7170AB5-15F2-48BF-B2A3-2F08AA4A9DCC" />
</ProxyStub>
</Extension>
<desktop2:Extension Category="windows.firewallRules">
<desktop2:FirewallRules Executable="WsaClient\WsaClient.exe">
<desktop2:Rule Direction="in" IPProtocol="TCP" LocalPortMin="58526" LocalPortMax="58526" Profile="private" />
</desktop2:FirewallRules>
</desktop2:Extension>
</Extensions>
<build:Metadata>
<build:Item Name="cl.exe" Version="19.29.30139.0 built by: vcwrkspc" />
<build:Item Name="CodeSharingProject" Value="248F659F-DAC5-46E8-AC09-60EC9FC95053" />
<build:Item Name="VisualStudio" Version="16.0" />
<build:Item Name="OperatingSystem" Version="10.0.17763.1 (WinBuild.160101.0800)" />
<build:Item Name="Microsoft.Build.AppxPackage.dll" Version="16.0.31910.33" />
<build:Item Name="ProjectGUID" Value="a2be7e6a-792a-4530-8614-bc091a63d7bb" />
<build:Item Name="OptimizingToolset" Value="None" />
<build:Item Name="TargetRuntime" Value="Native" />
<build:Item Name="Microsoft.Windows.UI.Xaml.Build.Tasks.dll" Version="0.0.0.0" />
<build:Item Name="WindowsDesktop" Version="10.0.22000.0" />
<build:Item Name="MakePri.exe" Version="10.0.22000.194 (WinBuild.160101.0800)" />
<build:Item Name="Microsoft.Build.DesktopBridge.Tasks.dll" Version="4.6.30319.200" />
<build:Item Name="TargetFrameworkMoniker" Value=".NETFramework,Version=v4.5.1" />
</build:Metadata>
<mp:phoneIdentity PhoneProductId="dd5d7f57-f9ab-4533-8aa3-8b7325addf8a" PhonePublisherId="d949d1ab-24a8-4463-9586-acee62f6de38" />
<Capabilities><Capability Name="internetClient" /><Capability Name="internetClientServer" /><Capability Name="codeGeneration" /><uap:Capability Name="sharedUserCertificates" /><uap:Capability Name="removableStorage" /><uap4:Capability Name="userDataTasks" /><rescap:Capability Name="localSystemServices" /><rescap:Capability Name="packagedServices" /><rescap:Capability Name="runFullTrust" /><rescap:Capability Name="unvirtualizedResources" /><rescap:Capability Name="packageManagement" /><rescap:Capability Name="packageQuery" /><rescap:Capability Name="customInstallActions" /><rescap:Capability Name="allowElevation" /><uap4:CustomCapability Name="Microsoft.classicAppInstaller_8wekyb3d8bbwe" /></Capabilities></Package>
OKAY~! So what did I learn?
WSA is stupid if you aren't running a buisness that relies on the emulator's high encryption standards. The emulator can absolutely be cracked with MSIXHERO, But the process to do so is silly and not trivial.
The best Idea is to build Our Own Emulator, with Android Studio~! I will teach you how in another thread~!
Spoiler: GET ANDROID STUDIO, IF YOU NEED IT
You will need Android Studio~! For the remainder of my tutorials, I will be using Chocolatey Packages.
To install, paste into a terminal:
choco install androidstudio
Spoiler: LEARN CHOCOLATEY
How To Use Chocolatey
========================= ============================================ HOW TO USE CHOCOLATEY ============== ============= Hi Friends~! This amazing package manager changed my Windoz life
forum.xda-developers.com
PITFALLS~! TO KNOWLEDGE~!
I have to say, Android Studio's emulators have gotten significantly better in the last 6 years.. haha
Spoiler: AVD
are we learning how to just bypass All these Corporate Emulators? Tee Hee IDK what I am doing. We will see~!
Apparently Android Studio Uses QEMU to create it's emulators~! I keep hearing good things about QEMU but I am not smart enough to program it yet x.x
Apparently We can run CalyxOs in Android Studio~!
Lol this dissembling of WSA may be STUPID~! If we can just make our own~!
-----EDIT...
I OFFICIALLY DEEM THIS PROJECT TOO STUPID TO CARRY ON~! WHEN WE CAN MAKE OUR OWN <3
How To Build Your Own Android Emulator~!
========================= ===================== BUILDING OUR OWN ANDROID EMULATOR ============================= ============================= Hello Friends~! Today I will be walking you through building Your Own Android Emulator Using Android...
forum.xda-developers.com