* Started implementation of IAppxManifestReader4
* Marshall out mainPackageName in impl of GetMainPackageName
* Implement GetOptionalPackageInfo
* Implement IAppxManifestOptionalPackageInfoUtf8
* Exit early from visitorMainPackageDependencies
* Ensure accurate conversion in GetIsOptionalPackage
* Removed blank line:
* Added comment in AppxManifestOptionalPackageInfo
* Bug fix for ChainInterfaces
* Edit to fix in ComHelper
* Implement CreateBundleManifestReader
* No cast needed when making AppxBundleManifestObject
* Fixed CMakeLists.txt
* Don't cast to IMsixFactory if not needed
This change redoes directory creation (especially on Windows) to better handle absolute paths. It should only affect unpack, as pack doesn't use these functions to open the files.
A new test is added that passes in the absolute paths to the target locations.
* in progress, tryng to figure out how to best handle different error modes
* Revert "in progress, tryng to figure out how to best handle different error modes"
This reverts commit e9ab631ba3.
* split in progress
* moved vfs changes over to virtualfilehandler, unverified
* Split VFS handling from Extractor into a separate handler--VirtualFileHandler
Fixed start menu shortcut to write to per-machine instead of per-user (unintentionally missed when we switched back to per-machine)
Fixed the executable path pointed by the start menu shortcut and other paths to point to the devirtualized location rather than the copy inside the VFS directory.
Fixed issue where extra empty directories were left behind during removal.
Tests currently pass
* in progress, tryng to figure out how to best handle different error modes
* Revert "in progress, tryng to figure out how to best handle different error modes"
This reverts commit e9ab631ba3.
* rename to msixmgr
* rename to msixmgr
* Changes
* Convert stream to temp file and add package
* Refacor conversion from istream to package path in win10redirector
* Modify callback with progress add package method and add test for the same
* Reopen file with read and close file handle after add for security considerations
* Return error from Win10Redirector::AddPackage method
* Remove extra header
* remove hresult_from_win32 while returning error
* Remove reopening of file
* in progress, tryng to figure out how to best handle different error modes
* Revert "in progress, tryng to figure out how to best handle different error modes"
This reverts commit e9ab631ba3.
* manual undo of the per-machine-to-per-user switch. compiles, not tested.
* fix devirtualized registry handling on remove scenarios, and make findpackages more resilient to unexpected files/directories
* fix compiler warning
* fix error handling to return errors, and fix startup task which was triggering errors.
* add firewall rule
* Add local and remote ports
* create object to store rules from manifest
* Cleanup
* Comptr and return if failed comments
* Code review comments
* Redirect to win10 installer
* GetFullPathNameW to shell execute full file path when filename is only passed
* Implement execute remove request
* Store and delete rulename in the format Notepad++ (TCP-in)
* Back out changes for win10 redirection
* Comment
* in progress, tryng to figure out how to best handle different error modes
* Revert "in progress, tryng to figure out how to best handle different error modes"
This reverts commit e9ab631ba3.
* turn on c++17 and conformance mode off to verify can include winrt header
* this compiles, but won't run (except on win10) because of the dependency on WinRT stuffs
* compiles and runs on win7 with the code by linking in onecore_downlevel.lib and delayloading the other winrt stuff,
* in progress
* basic successful install scenario seemingly works
* check for error after completion and set error in msixResponse
* remove debug spew
* route removepackage and add some tests for the lib. Tested on 19H1 and win7
* add solution
* undo unintended temp changes
* Rewrite command line handling to make definition of commands more localized and handle more diverse commands more easily
* Fixes to use portable C++14
* Added tests for -pfn-flat and -extract-all options. Renamed -sa option as -extract-all
* Added test for -pfn -extract-all
* Added test for unpack -pfn-flat
* Updated help for unpack -pfn-flat
* Fixed Unbundle_StoreSigned_Desktop_x86_x64_MoviesTV test
* Remove !CompareDirectory check
This change adds a few more semantic checks to the validation of the package manifest. There are still many more to go, but there are some broad changes that need to go in beforehand.
All Win32 tests pass when built with -vp
In addition:
- Fixes a bug in the version parsing code
- Makes the XML query names based on what they actually find
- Makes the visitor more object oriented, containing the context within itself
- Adds a no context visitor constructor, and a type erasing visitor to consider for future use
* in progress, tryng to figure out how to best handle different error modes
* Revert "in progress, tryng to figure out how to best handle different error modes"
This reverts commit e9ab631ba3.
* scope to just preview tests
* and .appx
* update to readme to mention usage of git lfs
* FTA handler changes
* Deleting key from registry works
* Call deletekeyifpresent from com interface, server, protocol handlers
* AddRemovePrograms handler
* Remove all extensions in processftaforremove method
* Copy registry.dat file, changes in PrepareVirtualizedRegistry
* Updated copyfile
* set hivenamexists to false once unloaded
* in progress, tryng to figure out how to best handle different error modes
* Revert "in progress, tryng to figure out how to best handle different error modes"
This reverts commit e9ab631ba3.
* execute from explorer to avoid launching elevated
* fix compile warning, rename variable
* in progress, tryng to figure out how to best handle different error modes
* Revert "in progress, tryng to figure out how to best handle different error modes"
This reverts commit e9ab631ba3.
* make startup task per user (it was already per-user, but it'd be broken for second user) by adding the user sid to the name of the task
fix missing logo cases for FTA by checking against .empty() instead of a nullptr check.
* Fix build of OpenSSL with VS2019
Also added conditional to not pass GCC/Clang-specific options to CL,
which was causing two warnings to be emitted per source file.
* Remove GCC/Clang-specific flag from MSVC linkline
* Fix probable typo
* Add missing include
* in progress, tryng to figure out how to best handle different error modes
* Revert "in progress, tryng to figure out how to best handle different error modes"
This reverts commit e9ab631ba3.
* Remove "common programs" from file path mappings so that we don't spray other start menu shortcuts besides what was manifested
Convert PNG to ICO to display properly on Win7.
Convert all-user (HKLM) writes to per-user (HKCU) writes
* whoops, undoing the temp change to make it per-machine to debug why the icon was showing wrong
* change com and protocol to be per-user
* update test script for per-user changes to start menu
* in progress, tryng to figure out how to best handle different error modes
* Revert "in progress, tryng to figure out how to best handle different error modes"
This reverts commit e9ab631ba3.
* Remove "common programs" from file path mappings so that we don't spray other start menu shortcuts besides what was manifested
Convert PNG to ICO to display properly on Win7.
Convert all-user (HKLM) writes to per-user (HKCU) writes
* whoops, undoing the temp change to make it per-machine to debug why the icon was showing wrong
* in progress, tryng to figure out how to best handle different error modes
* Revert "in progress, tryng to figure out how to best handle different error modes"
This reverts commit e9ab631ba3.
* add database and handle add/remove of database and check database during update
* fix cases with new user and multiple users having it installed
* FindAllPackages now searches per-user database instead of looking at filesystem
* Remove unintended files
* remove completed todo/bad comment