Validate User Input during installation using VS Installer - c++

I am creating an msi using VS installer but I've run into a problem. What I need to do is take input from the user, a server name/port and username/passsword. Once I have this I need to verify that they are correct then continue with the installation r return to the input page.
I've tried using Windows Forms Project as a Custom Action but I have to use static linking for this msi so that is not possible.
I have the code written (c++) to validate all the credentials I just need a way to revert back to the input screen if they are incorrect.
Does anyone have any suggestions?
Greetings,
KB

First you need to make sure that your custom action can receive the installation handle: http://www.codeproject.com/KB/install/msicustomaction.aspx
After that, configure your custom action to set an installer property based on the validation result. This property can then be used to control the dialog. Perhaps this will help:
http://setupanddeployment.com/installation-user-interface/validate-user-input-installation/
What you need to do requires access to control events, so it's not really doable in a Visual Studio setup project. You can try using a different setup authoring tool which offers more control over the installation UI:
http://en.wikipedia.org/wiki/List_of_installation_software

Related

How to make a driver installing dialog like this(see the picture in detail description)?

I want to make an application that invokes the driver installation dialog through a programmatic call, allowing the user to easily install a required driver. What should I do? What API/tool should I use?
driver installation dialog
I tried to use devcon, InfDefaultInstall and pnputil in my app, they don't show this dialog.

How to prevent React from caching other github project pages

I built a GitHub User Page (https://username.github.io) with create-react-app. And I also have a project page at https://username.github.io/myProject which is built using Vuejs. The create-react-app seems to have a built-in service worker that does the caching automatically, which is what I wanted, but it also make my https://username.github.io/myProject not showing the project page correctly but showing my https://username.github.io page instead. I tried to unregister and clear the storage but it's only work once, when I located to my User's page and then to my Project's page, the problem still coming again.
How do I keep the caching behavior, and make these two urls able to show properly?
When you register an SW at the root ("/") it automatically takes control of everything below it ("/myapp2"). This is bu design and there's no exclusion config available.
I think you have two options:
Move the React project out of the root to it's own sub dir and have the SE control only that
Write some logic in the SW itself that checks all fetches it's handling and does a no-op if the they match a dir you don't want to be handled by the SW

ColdFusion 9.0.1 trouble adding hot fix

I'm trying to add the cumulative hotfix to ColdFusion 9.0.1. The instructions say to click on the 'i' in CFAdministrator and In the "Update File" text box, browse and select chf9010004.jar located under CF901/lib/updates.
The issue seems to be that whatever browser plugin that is being used is no longer supported by the current JRE version. Is there a way to manually add the hotfix without this step requiring to use the Java file browser?
In Safari the Java file uploader plugin says java out-of-date even though I'm running the latest version.
In Chrome a message comes up that says This site uses a plugin JAVA (TM) that will soon be unsupported. The plugin seems to load, but never goes past saying retreiving initial directories
Do not use the Browse Server button, just type the full path to the extracted chf9010004.jar file into the Update File text box then click the Submit Changes button.
The path should be something like:
C:\directory_where_you_extracted_the_zip\CF901\lib\updates\chf9010004.jar

Qooxdoo reuse cookies between sessions?

Recently I have create some UI tests for a qooxdoo application with the built-in simulator ( I am using qooxdoo 3.0.1, selenium-server-standalone-2.35.0 and firefox23)
and I need to store a cookie in the browser and save that for the next time that it open.
code that stores the cookie:
if(!this.getQxSelenium().isCookiePresent(debugVariable))
this.getQxSelenium().createCookie("debugVariable=0","path=/, max_age=350000, domain=subdomain.foo.com");
console.log(this.getQxSelenium().getCookieByName("debugVariable"));
I have find that there is an argument in the server the -profilesLocation that specifies the directory that holds the Firefox profiles that java clients can use to start up the Firefox
I even try to use -browserSessionReuse but it does not working either for me.
I see this is not enough what other solution I could try to make the Firefox to remember the cookies?
This is not a qooxdoo-specific issue. I tried it with a plain HTML+JS page and Selenium's -firefoxProfileTemplate option and it didn't keep the cookie either.
You could try using an older version of Selenium (and perhaps also Firefox). -firefoxProfileTemplate is specific to Selenium RC, which is deprecated and gets more broken with every new release.

howto hide firefox add-on popup initiate by selenium rc?

everytime i test my selenium test, the instant of firefox will popup and show page of selenium rc. It's ok and cool. But i have problem. For every test i also have to see a firefox's page pop up and shown selenium plugin have been add to firefox.
is there any way to configure selenium so it initiate firefox without a popup page cause after a hundred test, it start to irritate me ;D
I'm sure this is a duplicate of another SO question, as I feel like I've answered it before, but I can't find it. If I do subsequently find it then I will update my answer.
You need to set the extensions.lastAppVersion preference to match the version of Firefox that you're launching. Otherwise you will generally have an additional tab in Firefox and the Addons manager popup.
You may need to configure Selenium to use a custom Firefox profile in order to make this change.
Removing the extensions.rdf file from profile directory will fix this issue . I have created a separate profile for Selenium tests, which is only used for Selenium Tests. I would love to hear if there is other way around . My "extensions.lastAppVersion" is updated and reflects the current browser version therefore the above trick does not work for me .
Remember, invoking selenium by user will re-create extensions.rdf file, therefore I prefer to keep separate profile for Selenium
Having found this answer and had a go, I found that merging the Extensions.rdf and extensions.ini file from the temporary profile created in a Selenium session and putting that into your Custom Profile directory solves this problem.
When merging extensions.ini, be careful to avoid getting the pathnames wrong.
Use this -
From the address bar type “about:config” and add/update the following:
- extensions.update.notifyUser (type=boolean; value=false)
- extensions.newAddons (type=boolean; value=false)
It worked for me.