Inno Setup - About #define - size

In my script, there is a definition as (#define AppSize) -ignore brackets-.
This definition describes size of application which is installed.
But, my setup includes three applications and installations of these apps are optional.
I mean, if the user checks App A checkbox; App A will be installed. If the user checks App B...
So, how to set AppSize according to selected applications?

You can look into my asked question here.
For check box use component part and select size from there.

Related

B2B/Powertools Spartacus 3.3 - Missing "Reorder", "Cancel" and "Return" options in MyAccount

Successfully build Commerce 2011_7 with Spartacus 3.3 last week (using the standard instructions for B2B Commerce) and all appears to function on initial tests.
This week, I've gone to test the Standard Order Flows with mark.rivers#pronto-hw.com and noticed that the "Self Service" buttons that typically appear against a placed order in My Account are missing, and these are definitely there in the JSP Storefront and earlier versions of Spartacus.
I'm able to follow the instructions but not a developer so asking if anyone knows whats causing them to 'not appear' and could help me get them back please - have supplied a screenshot with the Console open as well.
The two lines in the console that concerned me were:
spartacus-storefront.js:18398 No component implementation found for the CMS component type 'AccountOrderDetailsOverviewComponent'.
Make sure you implement a component and register it in the mapper.
spartacus-storefront.js:18398 No component implementation found for the CMS component type 'AccountOrderDetailsReorderComponent'.
Make sure you implement a component and register it in the mapper.
enter image description here
order self service was added in 1.4 but you need release 2005.
see https://sap.github.io/spartacus-docs/cancellations-and-returns/
it's possible that with installation of 3.3, the cancel/returns code wasn't installed? we transitioned to many smaller libraries for 3.3. but also you need cms content in the backend (which looks like you have).

WIX - Automatically detect and install MS KB patch

I am attempting to modify a WIX installer package so that it can detect the presence of a specific Microsoft Knowledge Base patch/update, and then offer the user a chance to download and install it on-the-fly if the patch is not detect. My order of operations would be:
Detect if user is installing on Windows 8.1 or not (trivial, compare against VersionNT).
Detect if KB 2883200 is already installed.
If detected, provide a dialogue box offering the chance to download and install the package.
Steps 2 and 3 aren't 100% obvious to me. I've found a possible solution via another StackOverflow post, but I don't understand why both a hash and the KB number need to be provided. eg:
Sample Function
public static bool IsPatchAlreadyInstalled(string productCode, string patchCode)
{
var patches =
PatchInstallation.GetPatches(null, productCode, null, UserContexts.Machine, PatchStates.Applied);
return patches.Any(patch => patch.DisplayName == patchCode);
}
Use
IsPatchAlreadyInstalled("{F5B09CFD-F0B2-36AF-8DF4-1DF6B63FC7B4}", "KB2468871");// .NET Framework 4 Client Profile 64-bit
IsPatchAlreadyInstalled("{8E34682C-8118-31F1-BC4C-98CD9675E1C2}", "KB2468871");// .NET Framework 4 Extended 64-bit
IsPatchAlreadyInstalled("{3C3901C5-3455-3E0A-A214-0B093A5070A6}", "KB2468871");// .NET Framework 4 Client Profile 32-bit
IsPatchAlreadyInstalled("{0A0CADCF-78DA-33C4-A350-CD51849B9702}", "KB2468871");// .NET Framework 4 Extended 32-bit
So, the first part of my question would be: How can I use the code above to detect if the KB 2883200 patch is installed, and how do I generate the appropriate hash/UUID for the first argument passed to the function?
Next, I am trying to make a modal dialogue box appear, offering the user the chance to install the patch? If the user goes "Back" in the installer, I'd like the dialogue to re-appear when reaching the appropriate step again, in case they accidentally declined the offer to install the driver.
For the second and final part of my question: how do I provide such a dialogue box, and is there any existing method to download and install a MS KB patch through the installer, or do I have to implement my own methods from scratch?
Thank you.
The dialog box will be a dialog that you insert in the MSI UI sequence and show it if the update isn't installed, an publish the dialog with a condition. A potential issue with doing any of this in the UI sequence is that you won't be elevated, so if elevated privileges are required for this you may be in some difficulty.
I think Tom's suggestion is the way to do this - make it a prerequisite for which you build you own executable to check for it, integrate that with Burn.
Either way, to check for and install the update I'd use the Windows Update API. The update is available through Windows Update, and this kind of thing tells you if the update is applicable to a particular system and will also download it:
https://msdn.microsoft.com/en-us/library/windows/desktop/aa387102(v=vs.85).aspx

How to check Parental Controls with Objective-C

I need to know if the current user is being managed by Mac OS X Parental Controls (more specifically, the app age restrictions) in order to block some contents of the app. How can I do that? Any of these will be enough.
Methods that can be achieved with Objective-C, but not necessarily using Objective-C, like bash commands or AppleScript commands, are also accepted.
EDIT: The app age restriction can be found here: https://ibb.co/mOZyww
First, I'm not sure what you mean by
app age restrictions
On macOS 10.13, I only see the option to restrict applications to a whitelist; I can't configure restrictions based on age.
Anyway, parental controls are stored in the local directory services, in the mcx_attributes attribute for the user in question.
(mcx refers to the old Managed Preference framework)
You can browse this via the UI using Directory Utility or via dscl (using the mcx plugin).
If you run dscl, you can then browse the directory services using cd, ls, etc.
For example, I can navigate to my testuser:
cd /Local/Default/Users/testuser
And then dump the parental controls with mcxexport
-mcxexport .
This will give you the configured parental controls in XML format.
Check out dscl . -mcxhelp for more information.
Updated
Toggling the "Restrict: Apps to:" setting updates this preferences key:
<key>gamesLimit</key>
<dict>
<key>state</key>
<string>always</string>
<key>value</key>
<integer>300</integer>
</dict>
You would have to play around with it to figure out the corresponding values (e.g. 300 == Age 12+)

Mac App Sandboxing- Updating files outside the sandbox

I have an Application for the Mac that I want to publish on in the app store.
I order to get it published I need to put in a sandbox.
The app access Sqlite files outside the sandbox which the user selects from a openpanel.
The App works fine when is performs a select but it fails on inserts and updates.
I can remember reading something about some function you could call that could give you write access to files outside the sandbox but for the life I can remember what is was Can anyone enlighten me ?
Regards Christian Arild Stœr Andersen
Add "com.apple.security.files.bookmarks.app-scope" with boolean value YES in entitlement file of your project. Add follow "With Sandboxing" section of this link --
http://cocoaintheshell.com/2012/09/saving-sandboxing/
When you resolve your URL, by using URLByResolvingBookmarkData: method, you will get the url something like this --
file://localhost/Users/XYZ/Downloads/MyAudio.mp3?applesecurityscope=353734653735396237656239646134396537363331633063393765356234363035353666326332393b30303030303030303b3030303034534534343030303032303b636f6d2e6170706c652e6170702d73616e64626f782e726561642d77726974653b30303030303030313b30313030303030323b303030303030303030303035633134613b2f75736572732f69706874656368322f646f776e6c6f616473
For more information search for -- "NSURLBookmarkCreationWithSecurityScope"

Windows 8 store package fails on WACK when login to developer account

I'm trying to put a simple app on windows store. I made a fail attempt once, I submitted an app which failed to pass WACK, eventually it failed on submission too. Even then, when I try to package an app with my developer account logged in, I get a performance launch error.
Even on a blank app. also right after I create package logged in, my app's package name and provider fields on appmanifest are changes too. app's package name changes to the first app I submitted, and the provider changes to I guess my developer account's key.
I deleted my failed submission on dashboard, deleted all the names I reserved, including the failed one. But even when I reserve a new name and package my app with that name, my package name still changes to the very first one and fails on wack.
BUT, when I create package of my app WITHOUT logging in, I mean without associate with windows store, I can package my app with the name I want and pass the WACK. I hope anyone can help me with this.
Edit: C# application.
I had this happen too, it seems like WACK got confused and kept trying to verify the wrong version. The following steps resolved it for me:
Uninstall the app from your development PC (as in, go to start page,
right click on the app and select uninstall).
Reboot the dev PC.
Select "Local Machine" and "Release".
Start debugging wait for it to
have started up completely and then stop debugging.
Pretty sure that only one or two of those steps are actually needed, but not sure which ones.
I'm not completely sure I understand your issue, but let me try...
First, what is the failure that you got when you submitted to the Store and when you ran the WACK? You mentioned a "performance launch error". If you are failing the performance test, check out this article for tips to help. Some examples:
Package content locally (or cache it) when possible, so you don’t have to pull resources from a network during launch.
Load and do only what you need on launch. You can load other data and do other work asynchronously in the background or when you actually need it.
Use a "dirty bit" when saving data on suspend, so you only save data that has changed. (Rather than re-serializing your app’s state if that data hasn’t changed, create a Boolean flag variable (or “dirty bit”) which signals that your data has been modified, and only re-serialize when the data has changed.)
Use bytecode caching if you are developing in JavaScript, so each JS file has bytecode created once and not every time the app launches. To enable this, make sure all JavaScript files are UTF8 encoded with a byte-order mark (BOM) and are statically referenced in the root of your HTML start page.
If this is not the error that the WACK and your Store certification is failing with, please see this blog post and the related blog posts that it links to, to see if your failure is covered there.
Secondly, your issue with associating your code with your reserved name in the Windows Store:
also right after I create package logged in, my app's package name and
provider fields on appmanifest are changes too.
This behavior is expected. When you associate your app package with the Windows Store, it will change the "Package name" and the publisher in your appxmanifest. But that's okay! The "Package name" is just what the Windows Store uses as an internal identifier for your app package, and the "Package display name" (right below it in the appxmanifest) is what your end users will see. Set the "Package display name" to what you want.