DesktopAppConverter : error 'E_NO_EXPANDED_BASE_IMAGE' - exe

I want to convert an .exe file using the DesktopAppConverter tool, using this command
DesktopAppConverter.exe -Installer 'D:\Projects\Finance Workspace\New folder\deploy\exe only\pac
kages\bundles\Fun Money-1.0.exe' -Destination 'D:\Projects\Finance Workspace\New folder\deploy\exe only\packages\bundles
\appX' -PackageName "Funmoney" -Publisher "CN=Derbyware" -Version 1.0.0.0 -MakeAppx
I get this error
DesktopAppConverter : error 'E_NO_EXPANDED_BASE_IMAGE': No expanded
base images were found at 'C:\ProgramData\Microsoft\Windows\Images'.
Please run with -Setup to expand a new base image. At line:1 char:1
How Can I fix this please ??

To convert an app you need to download a Docker base image of Win10, with the same build number as your machine has.
Details on what to download and how to configure
Also, If you have problems with the Microsoft DAC you try this new converter, it is much easier to use, it has a GUI (no command line), built-in support for digital signing and allows you to customize the list of files that get inside your AppX.
Also, you can generate AppX packages for applications which do not (cannot) install silently.
It runs on Windows 7 too, not just Windows 10 (recommended).

Related

A solution to rEFInd unable to load using shim when Secure Boot is enabled

Background
Ubuntu 21.10 can load on my computer through secure boot, and the shim version is 15.4. Then refer to the official tutorial, I installed rEFInd v0.13.2 (the latest version when I posted this blog) via PPA in Ubuntu 21.10. However, when I restart the system and load rEFInd, it always fails with the message Verification failed:(0x1A)Security Violation. I'm sure that both refind_local.cer and refind.cer under the EFI/refind/keys/ have been enrolled through MokManager (Although only refind_local.cer is needed through PPA installation).
Cause
From this post, I got that rEFInd currently (v0.13.2) lacks the .sbat section. For shim 15.3 and later versions, SBAT is mandatory, resulting in failure to start rEFInd.
The post also indicates that the author of rEFInd is currently studying how to solve the related problems. I hope the later versions can fix this issue.
Solution
To conclude, you need to use shim 15 to solve this problem. For this purpose, you can perform the following steps (applicable to amd64. Steps are also similar if you are on other architectures):
Obtain MokManager and the shim efi file signed by Microsoft from Ubuntu launchpad. To achieve this, download shim_15+1552672080.a4a1fbe-0ubuntu2_amd64.deb and shim-signed_1.45+15+1552672080-064ubuntub_bed64.deb.
Unpack the downloaded shim_15+1552672080.a4a1fbe-0ubuntu2_amd64.deb and take out the mmx64.efi file. (data.tar.xz-> . -> usr/lib/shim/mmx64.efi)
Unpack the download shim-signed_1.45+15+1552672080.a4a1fbe-0ubuntu2_amd64.deb, take out the shimx64.efi.dualsigned file. (data.tar.xz-> . -> usr/lib/shim/shimx64.efi.dualsigned) Rename it to shimx64.efi.
Go to download refind-bin-0.13.2.zip. Then create a new folder, and put the two files taken out together with the downloaded zip file into the new folder.
Open terminal in the fore-mentioned folder, then execute the following commands:
unzip refind-bin-0.13.2.zip
cd refind-bin-0.13.2
sudo ./refind-install --shim ../shimx64.efi
If you encounter any confirmation during the installation process, just enter y to confirm.
After restarting, if it prompts Verification failed, refer to step 9 of the official tutorial. Select Enroll key from disk, and then select the ESP disk where you installed rEFInd. Finally, choose the file of path EFI/refind/keys/refind.cer to import.
If you use a non-Ubuntu Linux system on your computer, you can continue to import the cer files corresponding to your distributions in EFI/refind/keys as above. Failure to do so may cause your Linux distribution to be unable to boot via rEFInd.

VBoxManage throwing VERR_ACCESS_DENIED error on Windows 10

I'm attempting to follow these instructions to set up OpenWrt on Virtual Box on Windows 10. I installed Virtual Box 6.1.4 on Windows 10. I configured my environment variables to have access to the VBox executables so I could run VBoxManage convertfromraw openwrt-15.05.1-x86-64-combined-ext4.img openwrt.vdi --format VDI. However, when I run that command (from Powershell or cmd, both of which I ran as an administrator), I get the following error:
Converting from raw image file="openwrt-15.05.1-x86-64-combined-ext4.img" to file="openwrt.vdi"...
VBoxManage.exe: error: Cannot open file "openwrt-15.05.1-x86-64-combined-ext4.img": VERR_ACCESS_DENIED
What can I do to get around this?
use 7zip to extract .gz file/
create a folder in Documents eg test
run cmd ad admin (right click run as administrator)
cd ....Documents\test (... your computer eg c:\users\john)
type command "C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" convertfromraw --format VDI openwrt-bcm27xx-bcm2711-rpi-4-ext4-factory.img openwrt.vdii
(with "" included exactly as I wrote)
and it's done.
I had the same problem and I found the solution on this video.
Seems a discompability in extraction.

How to install Node.js with Windows PowerShell PackageManager (OneGet)?

I tried Install-Package nodejs, which seems to have done something:
PS C:\WINDOWS\system32> Install-Package nodejs
The package(s) come(s) from a package source that is not marked as trusted.
Are you sure you want to install software from 'chocolatey'?
[Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend [?] Help (default is "N"): y
Name Version Source Summary
---- ------- ------ -------
nodejs.install 11.10.0 chocolatey Node JS - Evented I/O for v8 JavaScript.
nodejs 11.10.0 chocolatey Node JS - Evented I/O for v8 JavaScript.
Then when I try to run the node command, it fails:
PS C:\WINDOWS\system32> node
node : The term 'node' is not recognized as the name of a cmdlet, function, script file, or operable program. Check
the spelling of the name, or if a path was included, verify that the path is correct and try again.
At line:1 char:1
+ node
+ ~~~~
+ CategoryInfo : ObjectNotFound: (node:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
How do I do it properly with PackageManager, so that the command is then available?
Not sure if this other question is related: Chocolaty packages not installing via OneGet/PackageManagement in Windows 10?
As that other question suggests, I tried setting Set-ExecutionPolicy Unrestricted, the uninstalling and reinstalling nodejs, but the result is the same.
I do see that after install the following files exist:
C:\Chocolatey\lib\nodejs.11.10.0\nodejs.11.10.0.nupkg
C:\Chocolatey\lib\nodejs.install.11.10.0.nupkg\nodejs.install.11.10.0.nupkg
C:\Chocolatey\lib\nodejs.install.11.10.0.nupkg\nodejs.install.11.10.0.nupkg
C:\Chocolatey\lib\nodejs.install.11.10.0.nupkg\nodejs.install.11.10.0.nupkg\legal\LICENSE.txt
C:\Chocolatey\lib\nodejs.install.11.10.0.nupkg\nodejs.install.11.10.0.nupkg\legal\VERIFICATION.txt
C:\Chocolatey\lib\nodejs.install.11.10.0.nupkg\nodejs.install.11.10.0.nupkg\tools\chocolateyInstall.ps1
C:\Chocolatey\lib\nodejs.install.11.10.0.nupkg\nodejs.install.11.10.0.nupkg\tools\node-v11.10.0-x64.msi
C:\Chocolatey\lib\nodejs.install.11.10.0.nupkg\nodejs.install.11.10.0.nupkg\tools\node-v11.10.0-x86.msi
which makes me think that maybe it expects me to run the installer manually after?
My goal is to simply install anything I need on a new Windows machine from a script, without having to download/install them all manually with GUIs.
I was able to reproduce this, but also was able to resolve it. The issue is that the node executable isn't on the PATH after installing with Install-Package. However, this does make some sense as the current PowerShell process won't pick up outside changes to environment variables until it is relaunched.
Chocolatey's refreshenv command works sometimes but not always, and after installing nodejs with Install-Package, refreshenv did not work to refresh the PATH variable. What did work was launching a new PowerShell session and running the node command, which ran the executable successfully:
> node
Welcome to Node.js v16.7.0.
Type ".help" for more information.
>
choco.exe can sometimes mask this but usually Chocolatey won't generate shims for executables placed by EXE or MSI installers (unless the package maintainer forcibly creates them).
Tip: In case you are in a situation where you need to call the binary from the same process that installed the package (e.g. during a chef-client run where refreshenv isn't an option), use the fully-qualified path to the executable to invoke the newly-installed software.
Additionally, don't use the Chocolatey OneGet provider in real automation; it's not yet stable and looks like it hasn't seen any development activity in five years at this time of writing. From the README.md:
NOTE: Seeking maintainers to help finish this Provider. Please inquire on the issues list or on Gitter (see the chat room below). Thanks!
There is an alternative listed in the same README:
NOTE: For now, you may be more interested in using the ChocolateyGet provider as a stop gap solution until this provider is ready. See https://github.com/jianyunt/ChocolateyGet for details
I tried this and it seems to work, but I would still recommend using the official choco.exe binary. It's easy to install and you'll get the best support when using it. It's also telling that configuration management solutions (such as Chef's chocolatey_package resource) continue to make use of the binaries and will generally list installing the client as a prerequisite, even though technically the PackageManagement module could be used as a native solution instead.
It worked for me:
winget install nodejs

Getting error trying to make Terraform work with IBM Cloud

I am using the following instructions:
https://console.bluemix.net/docs/terraform/setup_cli.html#setup_cli
When I run terraform init
I get the following error:
Provider "ibm" not available for installation.
A provider named "ibm" could not be found in the official repository.
This may result from mistyping the provider name, or the given provider may
be a third-party provider that cannot be installed automatically.
In the latter case, the plugin must be installed manually by locating and
downloading a suitable distribution package and placing the plugin's executable
file in the following directory:
terraform.d/plugins/windows_amd64
Terraform detects necessary plugins by inspecting the configuration and state.
To view the provider versions requested by each module, run
"terraform providers".
I am on windows 10 pc, I tried placing following executable under:
$HOME/terraform.d/plugins/windows_amd64/terraform-provider-ibm_v0.14.1.exe
Can anyone point why this is not working?
I think there is a bug in instructions of IBM Cloud. But when I put the executable file under the following path it works:
$HOME\terraform.d\plugins\terraform-provider-ibm_v0.14.1.exe
Hope this answer will help save someone some time.
There are clear steps on how to configure the IBM Cloud Provider for Terraform in this solution tutorial on both Windows and non-windows operating systems.
On Windows, the file needs to be placed in terraform.d/plugins beneath your user's "Application Data" directory.
Run the below commands on a command prompt Provider Configuration
MD %USERPROFILE%\AppData\terraform.d\plugins
MOVE PATH_TO_UNZIPPED_PROVIDER_FILE\terraform-provider-ibm.exe %USERPROFILE%\AppData\terraform.d\plugins
Launch Windows Powershell (Start + R > Powershell) and run the below command to create terraform.rc file
echo > $env:APPDATA\terraform.rc
At the first prompt, enter the below content
# ~/.terraformrc
providers {
ibm = "PATH_TO_YOUR_APPDATA_PLUGINS/terraform-provider-ibm.exe"
}
The file terraform.rc should be saved with Encoding ANSI and you have to be sure of not having weird characters.

Running Unity CLI on Headless Linux to build open source project - license issue

How can I run Unity CLI on Linux to build my project without getting the dreaded "Failed to activate/update license" error. Why do I need a license to do a build from the command line? This works fine for Unity CLI on macOS and Windows.
Launching Unity from the UI and signing in once is not an option as I am trying to do this on Travis CI.
Here's my .travis.yml file and related install + build scripts and here's the failing build
The doc Command line arguments mentions serial, username and password. But they seem not in your build scripts.
Also try the lastest build of Unity3D for linux.
There is a fix in the lastest release (5.6.0b10):
Fix "Manage License" UI regression
UPDATE
Just found a post about your problem. Hope it helps.
1) Network issue - Some education users will have internal network and lack of internet access (can you verify if you can ping to https://core.cloud.unity3d.com/api/login on command line?).
2) To verify if it is a CACerts.pem issue, can you follow this code:
https://github.com/justin-zheng/travisbuildtest
CACerts.pem is included in the repository
Add the CACerts.pem to the Unity license folder (in the user's .local directory: ~/.local/share/unity3d/Certificates/)
You can create and use a license file following next steps.
Create license file:
/opt/unity-editor-2018.3.0f2/Editor/Unity -batchmode -createManualActivationFile -logfile -nographics
Go to https://license.unity3d.com/manual and upload ulf generated file
Use downloaded ulf file:
/opt/unity-editor-2018.3.0f2/Editor/Unity -batchmode -manualLicenseFile Unity_v2018.x.ulf -logfile -nographics
That's all

Resources