d7x is officially updating for all d7II subscribers…
d7II subscribers will notice their copy of d7II v3.6.86 (or earlier) now promotes that an update exists to v3.6.87 (there is no actual code change for this specific .exe version; the version number is incremented to silence d7II update notifications if used after this d7x release.)
[Some information may be outdated] Please see the d7x Manual for ALL current product information and downloads.
d7x is the name given to the successor of d7II, our current generation PC technician productivity software. Initial incarnations of d7x combine the underlying d7x Platform code (developed separately from d7II itself) with the d7II interfaces and much of the specific functionality, to bring product updates to d7II subscribers as soon as possible (until a fully unique d7x release is achieved) while simultaneously moving towards that goal. Therefore, an active d7II subscription is required for any testing or usage. In fact, to have an active d7II subscription means you are a d7x subscriber, even if your billing plan doesn’t to change reflect the new name.
d7x is currently designed to sit beside d7II in the same folder, and maintains backwards compatibility with d7II configurations and active d7II session data (temporary files and settings specific to d7II and the current repair process) so a job can be finished with d7II if necessary. Even if d7x stopped working during an auto mode, d7II should pick up where d7x left off.
We’re excited to once again invite any d7x (d7II) subscribers to actively participate in the feedback process for current development. We hope to continue d7x in the d7 tradition where techs contribute insightful and experienced ideas for current needs, inspiring the program features that have made the d7 and d7II great from day one! Contribute your ideas anytime by contacting us directly or via our official support portal where you will also find message forums capable of housing your discussions on feature requests and updates for all of our software!
d7x Platform code controls the underlying operation of d7II specific functionality (from error handling/debug systems to interfacing with the OS, file system, registry, internet operations, and more…)
d7x interfaces with the OS using new APIs that allow newer OS features and replace older concepts and tools, while preserving Unicode characters with an aim to cover the different needs of those in non-English speaking countries and with localized versions of Windows.
d7x advances client/server communications adding full SSL and verifying server security certificates on connection, for secure update communications to safeguard against attacks. These capabilities will be extended to the “dCloud” communications when accounts can be migrated/converted, and to Self-Hosted FTP options, as well as adding new HTTPS communication abilities for Self-Hosted options.
d7x also interfaces with itself using high accuracy and error correcting routines in certain input data verification code, and includes vastly improved error handling and debug systems that automatically track quite a bit of internal data flow without extra coding.
The initially availability of “d7IIx” (named to reflect a hybrid product) earlier this year began with d7x “Platform” code, built from the ground up with new considerations in design and new fundamental basic lower-level functionality, and integrated the d7II user interface and other code designed for specific purposes and functionality (e.g. specific Windows repair processes, the entire custom apps system, etc.) Then, much of the d7II code was unmodified, although certain things reflected improvement right away (such as Windows 10 recognition.) Now, d7II code and specific functionality is being replaced entirely in areas like config/definitions storage operations and remote deployment options, and more is to come.
The d7x Platform code is designed not only for innovations not possible with d7II code, but also to provide a more flexible platform to be used for rapid development (and updating) of multiple application projects going forward (including our other existing technician oriented apps such as KillEmAll, dUninstaller, and dSupportSuite to name a few, as well as other new apps on the horizon.) In fact, d7x Platform code powers the CryptoPrevent v8.x “Program Filter” module, an invisible component enabling features based on the real-time hash signature and logic-based filtering of executable files at run-time.
To get a better idea of how the d7II code fits in, below are a few examples which illustrate the relationship between new d7x Platform code [represented by (d7x) below] which performs the unseen “grunt work” vs. the ported d7II code [represented by (d7II) below] which still handles the interface and specific/customized functionality.
Current Example #1: Run a custom app from the user interface (d7II), read user config (d7II), determine applicable operating environment/OS version (d7x), file exist/date stamp checking to determine if we should download a new fresh copy (d7x), download the file (d7x), extract file (d7x), find/verify extracted files (d7x), determine/initiate config customizations to app (d7II), perform file/registry operations related to app customizations (d7x), launch executable (d7x), wait for it to complete (d7x) in order to perform any cleanup/post actions like log gathering, etc. (d7II) before continuing with auto mode if in progress (d7II).
Current Example #2: Launch a Windows repair function from the user interface (d7II), read user config if applicable (d7II), determine targeted repair methodologies for the specific circumstances based on the above (d7II), determine operating conditions/perform system checks/download reqs if applicable (d7x), actually perform targeted repairs via any number of file system/registry operations (d7x), report success/failure/subsequent actions determined (d7II).
Now that the d7x Platform code has been integrated fully with the last builds going by the “d7IIx” title, much of the existing d7II specific code (as mentioned above) is being replaced, and fast. The current d7x v0.0.0.88 update brought an entirely new Config Mgmt Portal (older dCloud/Self-Hosted FTP functionality) and introduces the d7x Remote Deployment Tool (aka d7xRDT, the ‘SFX Mini‘ replacement) both of which are all new d7x specific/d7x Platform code (d7x-only) and together replace ALL client/server communications regarding config/definition files, as well as update tracking functionality.
Our first and foremost priority is to document/fix any remaining issues with functionality that worked correctly in the last release version of d7II.
New Feature Suggestions: At this time we are open to new feature suggestions, and large ideas are welcome; please visit our support portal to start a community post, but we ask that you understand the consideration is in future implementation, and we may not address all requests.
For the near future: major sections of d7x Platform code are already established (in the binary) and waiting to be integrated into existing d7II code replacements. The new d7x Platform code focuses on advanced, tested, stable, and reusable code to allow for rapid development towards reconstructing many of d7II’s best attributes into a more powerful and more user friendly tool.
Focusing on stability in the integration of d7II specific interfaces and functionality, workflow and data formats must be re-designed before we can drop d7II operational compatibility, and we plan to drop d7II operational compatibility before we move on to newer possibilities and new features.
User Interface: There is no foreseeable ETA on a complete user interface “change” at this time. In valuing function over form, for the most part your familiar interface will change gradually when it isn’t optional, and optional when it isn’t gradual or “under the hood” and does not maintain a familiar d7II form. Currently there may be few UI elements that reflect interface changes conceived for d7x, however there is a lot of re-usable code ready for interface changes or more simple enhancements.
Those hoping for few major “graphical” changes (if any) may delight in seeing the new KillEmAll’s background, which forces a consistent appearance of mostly the same traditional Windows app background color across all versions of Windows, while adding only a slight gradient effect from top to bottom using a bitmap that resizes nicely. It’s worth noting that this bitmap could be replaced as a new brand-able property.
Compatibility issues must also be considered as we apply new interface concepts, not just in maintaining d7II compatibility during the early stages, but also to allow the optional usage of the current d7II interface as a new UI develops, because a large amount of specific d7II functionality is tightly integrated into the existing user interface. In order to replace the d7II user interface that code must be updated heavily or entirely rewritten to work with new d7x code, and to simultaneously continue to work as expected with the existing d7II interface.
In other words, d7x is a ground up replacement, and basically the UI is more or less a major part of the very final stages in a full d7x release, but we’re not quite there yet.
d7x Release Timeline
October 2017: d7x has been rolled out to d7II subscribers!
d7x initial rollout; d7II subscribers will notice their copy of d7II v3.6.86 (or earlier) promotes an update to v3.6.87 (there is no actual code change for this specific .exe version; the version number is incremented to silence d7II update notifications if used after this d7x release.)
- Download d7II.exe for use as a backup (if missing) using the d7x “Main” menu > “Check for Updates” option. (This should be done automatically when updating from d7II.exe)
- NOTE: Offline tab functionality is NOT fully functional in this d7x release. Please continue to use d7II.exe for all Offline related functionality (including usage from a ‘Tech Bench’ PC and/or WinPE based boot disk.)
September 2017: The latest d7x TestBuild replaced the d7IIx Alpha versions, which could be tested with confidence in a production environment (provided you kept d7II with you as a backup.)
March 2017: d7IIx was released to early adopting d7II subscribers for assistance in testing.
Earlier: d7II specific code was merged with a mostly completed d7x Platform based code project (being ready to adopt specific d7II functionality) under the name “d7IIx Alpha” for a time.
(Current availability) d7x has been released to all d7II subscribers through the standard in-app update system. If you are not yet prompted to update, visit the Main menu (top left) > Check for Updates from within d7II.
Alternately, you can get blank-config product downloads from the d7x Manual, or pre-configured product downloads from dMZ Additional Downloads page (requires your “uid-” dMZ login.) Both require supplying either your d7II/d7x registration information and account credentials, or the Reg.Settings.dat file from a d7II\Config directory containing a registered/working copy of d7II.
After the d7x update, d7II.exe can still be used on the same PC, and within the same session. This is intended as a fail-safe option, in the event of any unexpected d7x crash or functional failure.
In order to facilitate the d7II fail-safe functionality, d7II is the “dominate” app, and will assume any active d7x session data yet replace the original path/.exe file in the registry with itself for future use.
Additionally, d7x will not start if an active d7II process is found, or if d7II is launched first without using End Session (except when d7x is launched during the update process.) In order to switch back to using d7x on that system, you must use the End Session functionality in d7II, or modify/delete the appropriate d7II session data.
Detail: d7x determines the location of the d7II path/.exe from values found in the “HKLM\Software\Foolish IT\d7II\Session\Paths” key. If the .exe file exists, it will launch that .exe (passing any command line arguments that were received by this d7x process instance) then terminate itself as the d7II process starts up using the rest of the d7II session data created by d7x for backwards compatibility.
d7x-d7II session behavior may be phased out or triggered by user prompt as features are added to d7x which become necessary for the desired behavior, yet have no backwards compatible equivalent for d7II, causing incomplete (and possibly unknown) behavior with d7II.
Please see the d7x Manual for ALL current product information and downloads.
In fact, to have an active d7II subscription means you are now considered a d7x subscriber, and will be referred to as such in future documentation and emails. Note that some billing related emails may not reflect the new name, nor will Paypal accounts/emails when used for recurring subscription payments.
Change may be required:
All copies of a “d7II SFX Mini” used in remote deployment will continue to download only the last versions of d7II. If configured, d7II could automatically update to d7x with every usage adding considerable time to the initial startup from the SFX Mini, as well as allowing for potential complications (currently the d7II-d7x update process involves 5-7 separate downloads through an updater stub, and would occur after the SFX Mini downloads all d7II components that will be disregarded by d7x.)
- To continue using d7II and the SFX Mini, you should ensure any d7II config(s) used with your SFX Mini have disabled automatic updating of the d7II application from the Config > Behavior tab, in the lower right column. Save and upload any config back to the cloud (or your self-hosted FTP) if the d7II automatic update option was enabled for session or app startup.
- For a d7x replacement to the SFX Mini, (which will download d7x instead of d7II) you must create and use the newer d7xRDT (Remote Deployment Tool) – details are in the d7x Manual.
A: NO for currently active d7II accounts! Customer loyalty deserves reward, so ALL existing d7II accounts which remain active are eligible for d7x based upgrades with NO change in your existing pricing terms. Actively billed subscription plans will continue to be charged at the previously agreed upon rate (as determined when you committed to that payment plan through our 3rd party payment processor) provided that your subscription is maintained without a lapse in payment or service.
* Please note that d7II is licensed at per-technician rates (single tech, 2-5 techs, 6-10, 11-15, etc.) and therefore to increase technician usage at any time would require a new/upgraded license, which does constitute a new subscription plan that may be charged at the current rates. Additionally, any d7II account cancellation (prompted either by customer request, or due to a lapse in payment/subscription without a timely customer response to rectify the missed payment and reinstate service) will require a new subscription to be charged at the current rate for the product during that time.
A: NO! To be honest, some of us believe the usage of the letter ‘X’ in pop culture is a bit annoying, so our ‘x’ actually gets its inspiration from a common convention in programming (and math formulas) to use ‘x’ as the primary variable name. In programming a variable can be substituted with a real value in repetitious code blocks, with ‘x’ often used as the numerical index in For…Next loop statements e.g. For x = 0 to Ubound(SomeArray)… ‘x’ is also the most recognized way to refer to multiple or unknown specific software versions, like referring to a range of revisions at once, e.g. v4.x instead of v4.0 and v4.1 and v4.2, etc.
Either way you look at it, d7x represents a variable: it is ever-evolving and improving to suit the expanding needs of PC repair technicians everywhere!