I have a basic MSI project. In this project I have created one custom dialog (because of requirement) using InstallScript code. I want to make that Custom Dialog immovable. How can I achieve this in InstallScript code? Can we use DialogSetInfo() to achieve this?
Related
I am trying to give my users the ability to select the drive they want to load our software to. Instead of just giving them the InstallChangeFolder dialog I am attempting to just list the drives that are available to load on. I have done this in an InstallScript project before but now we are trying to move to MSI. Basically the flow will be they select the drive and then we append our root path to that drive. Does anyone know of any good tutorials that would explain how to create a custom dialog for changing the installdir and wiring up in all of the custom actions and sequences. If it matters I am using InstallShield 2013 and a Basic MSI Project
Why do you want to hardcode your installation path? That seems like enforcing bad design decisions on your customers.
The default method of allowing the user to pick the installation path is the standard method, for a good reason.
I agree hard coding the path is a bad design, however in order to achieve what you want just create new custom action by going through custom action wizard selecting installscript file, copy your code of install script and add place newly created custom action in the correct sequence.
I have made a setup of a web application which could be installed multiple times in the same machine. I need to remove the sites created during installation at the time of uninstallation process. For this I wrote a custom action using a installer class.
Now, the problem is, if I have multiple installation of the same web application, custom uninstallation is being called only during the uninstallation of the last application.
Can somebody please help?
Thanks a lot in advance.
What tool did you use to author the MSI? What conditional expression did you use for the custom action?
My guess is you used a tool that abstracted you from this and that you are using component action states. It's not until the last client ( product ) of the shared component uninstalls that the component uninstalls and therefore the custom action is executed.
You should also know that installer class custom actions are known for their fragility. Using a WiX DTF ( Windows Installer XML, Deployment Tools Foundation ) managed custom action would be a much wiser choice.
I am working in installshield 2012 spring express edition.
I have created exe custom action which call exe developed in vb.net,
that exe has cancel button in it. If user Clicks on cancel button error box pops up in installshield setup (error code 1722)
I know why this error is coming but i don't want user to see this error and want to cancel the installation without showing error message to user.
Tell me if anyone need more detail.
There's a number of things at play here:
Don't use EXE custom actions. They run out of process and don't have access to the MSI handle and have a variety of other failure points. See: Integration Hurdles for EXE Custom Actions
Use WiX DTF instead to write a managed code custom action that is presented to the windows installer as a standard C++ Win32 DLL. See: WiX and DTF: Using a Custom Action to list available web sites on IIS
Your Custom action shouldn't present any UI at all. It should be publishing messages up to windows installer to be displayed on the progress dailog. If your custom action is prompting the user for information, this is wrong also. It should have done that in the UI Sequence during the user interview stage of the installation.
As you pass messages to the progress dialog, MSI will give you a return code that indicates the user has pressed the cancel button. You should then use this button to interrupt the processing in your custom action. Windows Installer will then rollback and display the Setup Interupted dialog. See: Any tips on getting the cancel button working for a deferred custom action
InstallShield Express is a very limited tool and may not be able to directly do all the authoring you need it to do. There are ways to extend it. See: Augmenting InstallShield using Windows Installer XML - Certificates
What I've shown you is the correct and proper way to do it. Anything else is suboptimal from an MSI best practices perspective.
How can I Add a custom Ribbon group to an existing OOB Sharepoint Ribbon tab at run time?
I have a custom web part and I want to add a custom group to Ribbon.Documents Contextual tab at run time.
You need to provision tab definition using custom actions, and then in you server code use SPRibbon.MakeContextualGroupInitiallyVisible and SPRibbon.MakeTabAvailable to show up you tab.
Also you can use CKS.Dev extension for visual studio it contains templates which have some markup and code to help you to start.
You can use Javascript to create buttons. Here is the helpful link
http://www.ro.umt.com/blog/2013/11/14/creating-sharepoint-ribbon-elements-in-javascript/
if you look at the createTab() function you see you can create new group using this function CUI.Group .
I created a setup file using InstallShield application.
Now, in one of the Installation Form, I have a checkbox control. By default it is unchecked. But after performing some operation on that form, I wants to check that checkbox control.
I am able to change its property, but the form is not getting refreshed.
Please Help me.
Thanks.
This is a known limitation in Windows Installer internal UI. Either roll an external UI handler ( InstallScript MSI project type for example ) or rethink your UI story to conform to what MSI is capable of doing.