Msix packaging tool windows 7

Skip to content

  • Se større billede

MSiX for Windows 7

If you are considering using the Windows 7 handler for MSiX, this is your chance to get a head start.
Keep in mind: The codebase is still in preview, hence not supported by Microsoft

The current codebase is available on GitHub – Windows 7 handler for MSIX

The preview currently includes a user interface that will process the extraction/unzipping of the MSiX Package.

The Files will be unzipped to the VFS folder, add the application in the Add/Remove programs list and place a shortcut for the executable in the start menu.
The xml uninstallation script will automatically be generated and contain all information about files, and registry entries.

Keep in mind: Uninstalling the application from Add/Remove Programs in the Win7Msix preview requires the Win7MsixInstaller application to be installed using the default settings of the MSI project detailed below.

Would you like to get started?

  1. Get Visual Studio
  2. Clone the MSiX repository to your local machine
  3. Build it in 64-bit (see prerequisites https://github.com/Microsoft/msix-packaging)
  4. remember to use -mt flag to avoid vclibs dependency’sIf you are using Visual Studio 2017 and you run into errors about not being able to find the v140 toolset:
  1. Install the Microsoft Build Tools (https://chocolatey.org/packages/microsoft-build-tools)
  2. Start -> visual studio installer -> Visual Studio Build Tools 2017 -> Modify the 2014 toolset -> individual components
  3. Make sure that VC++ 2015.3 v140 toolset for desktop is selected and then unselect VC++ 2017 141 toolset
  4. Close, then re-open the solution.

Depending on the platform for which the MSIX shared library (MSIX.DLL | libmsix.dylib | libmsix.so) is compiled, one or more of the following dependencies may be statically linked into the binary:

  • ZLib Tag v1.2.11 Commit cacf7f1d4e3d44d871b605da3b647f07d718623f
  • Xerces-C Tag Xerces-C_3_2_0 Commit dffc3028df8ea44985c92f2df28115860e39e344
  • OpenSSL Tag OpenSSL_1_0_2m Commit 8b1549a153a62e9878327d05aa3b6622b416ec10
  • Android NDK

Read the full release notes for perquisites and dependencies: https://github.com/Microsoft/msix-packaging

In case you don’t want to start compiling, you can grab my pre-compiled versions here: [download id=”12805″]

MSIX for Windows 7 allows customers and ISVs alike, to move to one Packaging format to simplify deployment, then light up features with newer OS versions like Windows 10.

Share This Story, Choose Your Platform!

Solutions Architect, Microsoft Certified Trainer & Technology Evangelist with a passion for #Deployment #Configmgr #Azure #Security #Development

Personal blog: https://thomasmarcussen.com

Beslægtede indlæg

Page load link

MSIX SDK

Copyright (c) 2019 Microsoft Corp. All rights reserved.

Description

The MSIX SDK project is an effort to enable developers on a variety of platforms to pack and unpack
packages for the purposes of distribution from either the Microsoft Store, or their own content distribution networks.

The MSIX Packaging APIs that a client app would use to interact with .msix/.appx packages are a subset of those
documented here.

Overview

The MSIX SDK project includes cross platform API support for packing and unpacking of .msix/.appx packages

msix A shared library (DLL on Win32, dylib on macOS, SO on Linux and Android) that exports a subset of the functionality contained within appxpackaging.dll on Windows. See here for additional details.
On all platforms instead of CoCreating IAppxFactory, a C-style export: CoCreateAppxFactory is provided. Similarly, the CoCreateAppxBundleFactory export is equivalent as CoCreating IAppxBundleFactory.

The ‘UnpackPackage’ and ‘UnpackBundle’ exports that provide a simplified unpackage implementation. Similarly, PackPackage provides a simplified package implementation. See the samples directory for usage of the SDK.

makemsix A command line wrapper over the MSIX library entrypoints. makemsix supports pack and unpack. Use the -? to get information about the options supported.
MSIX Core A client app that uses installs .msix/.appx packages on Windows 7 SP1 and later versions of Windows. Go to the MSIX Core project page, to get more details.

Guidance on how to package your app contents and construct your app manifest such that it can take advantage of the cross platform support of this SDK is here.

Release Notes

Release notes on the latest features and performance improvements made to the SDK are listed here

Setup Instructions

  1. Clone the repository:
    git clone [URL]

Issues

If you are using Visual Studio 2017 and you run into errors about not being able to find the v140 toolset:

  1. Install the Microsoft Build Tools (https://chocolatey.org/packages/microsoft-build-tools)
  2. Start -> visual studio installer -> Visual Studio Build Tools 2017 -> Modify the 2014 toolset -> individual components
  3. Make sure that VC++ 2015.3 v140 toolset for desktop is selected and then unselect VC++ 2017 141 toolset
  4. Close, then re-open the solution.

Dependencies

Depending on the platform for which the MSIX shared library (MSIX.DLL | libmsix.dylib | libmsix.so) is compiled, one or
more of the following dependencies may be statically linked into the binary:

  • ZLib Tag v1.3.1 Commit 51b7f2abdade71cd9bb0e7a373ef2610ec6f9daf
  • Xerces-C Tag v3.2.1 Commit 9ac2984508eff312585b86b2a89850a439b5650b
  • OpenSSL Tag OpenSSL_1_1_1t Commit 830bf8e1e4749ad65c51b6a1d0d769ae689404ba
  • Android NDK

For convinience, Zlib, Xerces-C and OpenSSL are git-subtrees that are mapped in under the lib folder of this project. Edits on top of these subtrees for build related optimizations are tracked within this repository.

The Android NDK is only required for targeting the Android platform.

Prerequisites

The project uses git-lfs to store some large binary test files. You can find out more and install it from here:

https://git-lfs.github.com/

Make sure that you have CMAKE installed on your machine

  • https://cmake.org/download/

One or more of the following prerequisites may also be required on your machine:

Ninja-build:

https://github.com/ninja-build/ninja/releases

Android NDK:

https://developer.android.com/ndk/downloads/index.html

Clang/LLVM:

http://releases.llvm.org/download.html

VS 2017 clients:

Open Visual Studio 2017
File->Open Folder->navigate to project root and select «CMakeLists.txt»

See cmake-support-vs for details regarding how to configure your environment.

Xcode clients:

open terminal, from project root:
mkdir build && cd build && cmake -DMACOS=on -G»Xcode» ..
open xcode
File->Open->navigate to project root/build and select «Project.xcodeproj»

See cmake-Xcode-integration for additional details

Build

On Windows using Visual Studio nmake:

   makewin.cmd <x86|x64> [options]

This will start MSVC environment calling vcvarsall.bat , clean the output directory, call cmake and nmake. The latest Visual Studio version is obtained by calling vswhere.exe

On Mac using make:

   ./makemac [options]
   ./makeios [options]

On Linux using make:

   ./makelinux [options]
   ./makeaosp [options]

How to compile for Android on Windows:

  • Unpack the latest Android NDK to c:\android-ndk
  • Unpack Ninja-build to c:\ninja
  • Add c:\ninja to the path environment variable
  • Create a folder under the root of the enlistment called «android», cd into that folder, then run the following command to create ninja build files:
    cmake -DCMAKE_ANDROID_NDK=c:/android-ndk ^
        -DCMAKE_ANDROID_NDK_TOOLCHAIN_VERSION=clang ^
        -DCMAKE_SYSTEM_NAME=Android ^
        -DCMAKE_SYSTEM_VERSION=19 ^
        -DCMAKE_ANDROID_ARCH_ABI=x86 ^
        -DCMAKE_ANDROID_STL_TYPE=c++_shared ^
        -DCMAKE_BUILD_TYPE=Release ^
        -DAOSP=on ^
        -G"Ninja" ..

To compile, run the following command from the android folder:

Enable pack features

By default, pack is NOT turned on in the build scripts and is not supported for mobile devices. Use the —pack option in the build scripts or pass -DMSIX_PACK=on to the CMake command to enable it. You will have to set also -DUSE_VALIDATION_PARSE=on in the build script, otherwise the build operation will fail.

Windows 7 support

The MSIX SDK is fully supported and tested on Windows 7. However, an Application Manifest MUST be included to any executable that is expected to run on Windows 7 and uses msix.dll. Specifically, the Application Manifest MUST include the supportedOS flags for Windows 7. The manifest is not included on msix.dll because the compat manifest doesn’t matter on DLLs.
See the manifest that is used for makemsix and samples of this project as example. The Windows 7 machine might also require the Microsoft Visual C++ Redistributable binaries installed to run properly. Alternatively, build msix.dll with makewin.cmd <x86|x64> -mt [options] to use static version of the runtime library and don’t require the redistributables.

Android support

The MSIX SDK minimum supported for Android is API Level 19.

We also produce msix-jni.jar which acts as a helper to get the languages from the Android device. Because of it, we expect either a -DANDROID_SDK and -DANDROID_SDK_VERSION on the cmake command and, if not present, we default to $ANDROID_HOME and 24 respectively.
The default level for the SDK level is 24 because we use the Configuration class and, depending on the version of the device, we either use the locale attribute (deprecated as of API level 24) or getLocales.
We recommend using the makeaosp script to build for Android on non-Windows devices.

Apple Silicon

To enable building the MSIX SDK to run on Apple Silicon do the following:

  1. Install Xcode beta 12 (https://developer.apple.com/download/)
  2. Change active developer directory sudo xcode-select -switch /Applications/Xcode-beta.app/Contents/Developer
  3. Build using makemac.sh ./makemac.sh -arch arm64 --skip-tests

Testing

msixtest uses Catch2 as testing framework. msixtest is either an executable or a shared library, depending on the platform. It has a single entrypoint msixtest_main that takes argc and argv, as main, plus the path were the test packages are located. The shared library is used for our mobile test apps, while non-mobile just forwards the arguments to msixtest_main. It requires msix.dll to be build with «Release» or «RelWithDebInfo» CMake switch.

First build the project, then:

Testing for non-mobile devices:

Go to the build directory and run msixtes\msixtest.exe. You can run an specific test by running msixtest [test name]. By default, the test will only output the failling tests, use -s to output successfull tests.

Testing on mobile devices:

iOS

First build the project for iOS, then launch xCode and load src/test/mobile/iOSBVT.xcworkspace, compile the test app, and then launch the iPhone simulator. You can also run «testios.sh -p iOSBVT/iOSBVT.xcodeproj» from src/test/mobile.

Android:

From within bash, navigate to src/test/mobile, and run «./testaosponmac.sh».

Releasing

If you are the current maintainer of this project:

  1. Pull latest payload to release in master
  2. Confirm that all platforms/architectures/flavors build and all BVTs pass
  3. From a windows cmd prompt: release_master.cmd
  4. Confirm that new branch called «release_v1.xxx» where «xxx» is the next incremental version is created

Contributing

This project welcomes contributions and suggestions. Most contributions require you to
agree to a Contributor License Agreement (CLA) declaring that you have the right to,
and actually do, grant us the rights to use your contribution. For details, visit
https://cla.microsoft.com.

When you submit a pull request, a CLA-bot will automatically determine whether you need
to provide a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the
instructions provided by the bot. You will only need to do this once across all repositories
using our CLA.

If you have any questions or comments, you can send them our team directly!

This project has adopted the Microsoft Open Source Code of Conduct.
For more information see the Code of Conduct FAQ
or contact opencode@microsoft.com with any additional
questions or comments.

Report a Computer Security Vulnerability

If you are a security researcher and believe you have found a security vulnerability that meets
the definition of a security vulnerability that is not resolved by the 10 Immutable Laws of Security,
please send e-mail to us at secure@microsoft.com. To help us to better understand the nature and
scope of the possible issue, please include as much of the below information as possible.

  • Type of issue (buffer overflow, SQL injection, cross-site scripting, etc.)
  • Product and version that contains the bug, or URL if for an online service
  • Service packs, security updates, or other updates for the product you have installed
  • Any special configuration required to reproduce the issue
  • Step-by-step instructions to reproduce the issue on a fresh install
  • Proof-of-concept or exploit code
  • Impact of the issue, including how an attacker could exploit the issue

Microsoft follows Coordinated Vulnerability Disclosure (CVD) and, to protect the ecosystem, we
request that those reporting to us do the same. To encrypt your message to our PGP key, please
download it from the Microsoft Security Response Center PGP Key. You should receive a response
within 24 hours. If for some reason you do not, please follow up with us to ensure we received
your original message. For further information, please visit the Microsoft Security Response
Policy and Practices page and read the Acknowledgment Policy for Microsoft Security Bulletins.

For additional details, see Report a Computer Security Vulnerability on Technet

Introduction

MSIX is the Windows app package format that provides a modern packaging experience to all Windows apps. The MSIX package format preserves the functionality of existing app packages and/or install files in addition to enabling new, modern packaging and deployment features to Win32, WPF, and WinForm apps.

Use the MSIX packaging tool to create an MSIX package for any Windows app, old or new. The MSIX packaging tool streamlines the packaging experience, offering an interactive user interface or command line to convert and package Windows apps. The MSIX packaging tool is available in the Microsoft Store and supported on Windows 10 1809 and later.

With the open source MSIX SDK, the MSIX packages are more versatile, and platform independent. The SDK provides all of the APIs needed to verify, validate, and unpack an app package on any platform.

Download Tool (15.7 MB)

The package requires OS version 10.0.17701.0 or higher…

MSIX Packaging Tool – Windows Store   mirror

Screenshots


Notes


MSIX Training on Microsoft

MSIX Training Overview: https://www.microsoft.com/en-us/videoplayer/embed/RE3ig2l

MSIX Training for Developers: https://www.microsoft.com/en-us/videoplayer/embed/RE3i5DH

MSIX Training Evolving Enhancing Desktop Apps v2: https://www.microsoft.com/en-us/videoplayer/embed/RE3iiD5

MSIX Training Exercise 1: https://www.microsoft.com/en-us/videoplayer/embed/RE3i8dF

MSIX Training Exercise 2: https://www.microsoft.com/en-us/videoplayer/embed/RE3ig21

MSIX Training Exercise 3: https://www.microsoft.com/en-us/videoplayer/embed/RE3rc5C

MSIX Training Exercise 4: https://www.microsoft.com/en-us/videoplayer/embed/RE3iiD2

Package existing Windows apps

MSIX Packaging Tool enables you to update existing Win32 application packages to the MSIX format. Learn more


Use MSIX anywhere

The MSIX SDK enables developers on various platforms to pack and unpack packages for distribution from either the Microsoft Store, or their own content distribution networks. Learn more


Install MSIX app packages

App Installer allows for installation and updates of any MSIX app package that is locally available or on any content distribution network. Learn more


Package support framework

PSF enables your app to bypass a select number of modern runtime environment limitations, ensuring that your existing solution runs as expected without modifying source code. Learn more

Other Professional Packaging Software for MSIX

https://www.advancedinstaller.com/msix-introduction.html

Microsoft today announced that the MSIX Packaging Tool is now available in the Microsoft Store. It is worth noting that this is a Preview version and hence some bugs are expected. At Build 2018, Microsoft announced the Support for MSIX packages for Windows 7 devices and this tool is an early preview for the same. This MSIX Installer will support Windows Applications like Win32, WPF, WinForm, and UWP. This tool helps you by enabling you to update your existing Win32 application packages to this format and helps you upload them up to the Microsoft Store.

MSIX Packaging Tool

This initial Preview version of the MSIX Packaging Tool supports the following features initially.

  • Package your favourite application(msi, exe, App-V 5.x and to MSIX format by launching the tool and selecting “Application package” icon.
  • Create a modification package for a newly created Application MSIX Package by launching the tool and selecting “Modification package” icon.
  • Open your MSIX package to view and edit its content/properties by navigating to “Open package editor” tab and browsing to the MSIX package and selecting open package

If you want to use this MSIX Packaging Tool on your computer, make sure that you qualify the following prerequisites:

  • Participation in Windows Insider fast or slow rings
  • Minimum Windows 10 Build 17701 or later
  • Administrator privileges on your PC account
  • A valid MSA alias (to access the app from the Store)

If that all is a go, find the application in the Microsoft Store here and just on the install button to download and install it.

As said above, this is an early preview version and hence, not all features that are coming in the final release are supported or working yet. This includes the following:

  • Some options in the Settings page, such as adding or removing VFS/VREG and defining a default save location.
  • Package Support Framework See [link] for more detail on how you can use Package Support Framework today.
  • Packaging on existing virtual machines. You can still install the Tool on a fresh VM but the tool cannot currently spawn off a conversion from a local machine to an existing VM.
  • Command Line Interface support
  • Conversion of App-V 4.6 SP3 packages

Being hosted on the Microsoft Store itself makes this application up-to-date always and you get the fresh code from the development team easily.

You can read more about it here and you can download it from here.

Ayush has been a Windows enthusiast since the day he got his first PC with Windows 98SE. He is an active Windows Insider since Day 1 and is now a Windows Insider MVP. He has been testing pre-release services on his Windows 10 PC, Lumia, and Android devices.

Catalin

Posts: 7271
Joined: Wed Jun 13, 2018 7:49 am

Re: MSIX packages for Windows 7 SP1

Hello Shobz,

Unfortunately, by default MSIX is not supported on Windows 7.

You can see the support OSs matrix of MSIX here:

MSIX support on Windows 10 version 1709 and 1803

The MSIX support was officially released with the Windows 10, 1809 update. Support for previous Windows (10) versions was added later on, requiring the latest version of the AppInstaller app from Microsoft.

You can find more information about this in the «MSIX Supported Features by OS Version» article.

However, due to a number of inquires on this, Microsoft has released MSIX Core. Basically, MSIX Core brings MSIX support to version of Windows earlier than Windows 10, version 1709.

Hope this helps.

Best regards,
Catalin

shobz_krish

Posts: 20
Joined: Mon Dec 02, 2019 2:30 pm

Re: MSIX packages for Windows 7 SP1

Hello Catalin,
Thanks and yes, I’m aware of MSIX core, for the support of MSIX in versions earlier than Windows 10 1709.

My question was more towards creating the corresponding manifest entries, to be able to deploy in Win 7 SP1 (with MSIX core of course).

Right now, in the tool, ‘Build_MSIX_Appx’ -> ‘Target platforms’ does NOT have an option for MSIX core targeted platforms — Ideally, there should one such option that will create the following entry in the manifest:

<TargetDeviceFamily Name=»MSIXCore.Desktop» MinVersion=»6.1.7601.0″ MaxVersionTested=»10.0.10240.0″ />

Regards,
Shobz

Catalin

Posts: 7271
Joined: Wed Jun 13, 2018 7:49 am

Re: MSIX packages for Windows 7 SP1

Hello Shobz,

Thank you for your explanation.

I see what you meant now.

In what regards this, we already have this on our TODO list of improvements. I have now increased its priority and hopefully this will be added in a future version of Advanced Installer.

I will update this thread as soon as the improvement will be added.

Best regards,
Catalin

Return to “Building Installers”

Понравилась статья? Поделить с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
  • Windows update error microsoft
  • Как сделать пароль на ноутбуке при включении на windows 10
  • Как восстановить windows 10 после сбоя
  • Windows 7 персонализация интерфейс не поддерживается
  • Служба общего доступа к проигрывателю windows media по сети как включить