I have an edit control that I would like to be read-only. I have set the attribute Disabled="yes" however my user cannot copy and paste from the control.
Is there any way around this?
Thanks
Unfortunately, the Windows Installer does not support the read-only bit in the Edit control and, as you found, making the control disabled prevents all interaction with the control. This is one of many examples where the built in MSI UI is very limited.
Related
I have been searching for this for days, and I can't seem to find anything that would solve this.
I have a requirement to show a web browser control in a Wix installer dialog that shows the application's Terms of Service web page.
We DON'T want to use the standard EULA page, which simply displays a compiled in RTF file, because the terms can change from time to time and we don't want to have to rebuild the installer each time just for that.
From what I can see, there are options for creating custom dialogs, but that seems like a lot of work for changing one thing. We really don't want to have to redesign the whole installer.
Does anyone know if this is possible?
No, it is not possible.
Windows installer can only show RTF or plain text, that is included in the package. It cannot show a web site, and you cannot define a custom page that would support a custom control, such as an embedded web browser because custom controls are not supported.
This is not less work but you can create a bundle in WiX and a custom BootstrapperApplication to implement whatever UI you want.
I am creating a installer using WIX, The requirement here is that when the user clicks on the next button on the license agreement dialog, I want to check the Internet spped of the user. If it is less than 1 mbps, I should show a message to the user that "the internet speed is less than the minimum required by the application. Do you still want to go ahead with the Installation?" This messagebox contains two buttons "Yes" and "No". If user clicks on Yes, I continue with the Installation. On click of "No", the Installation aborts.
I think this is impossible or may be quite difficult to do it with WIX. So thought of writing a C# Application, which will check the internet speed and show the dialog to the user. I want to launch this utility to be launched in the UI Sequence. Then capture whether user clicked on Yes or No, If user clicks on Yes, i continue with the Installation otherwise Installation aborts.
Note- When user clicks either Yes or No, the C# Application closes.
How can I :
1. Embed C# App in msi
2. Launch it in UI Sequence
3. Get the user action result and proceed accordingly.
Please help, it is urgent.
First, I question the value of doing this in an installer. Internet speed is highly variable and a user is just going to click yes and proceed. Any kind of system status check should really be inside your application.
But if you really want to have a Managed Custom Action in your installer that can set a property then you want to check out Deployment Tools Foundation.
WiX and DTF: Introduction
Deployment Tools Foundation (DTF) Managed Custom Actions
How long will it take for your code to determine internet speed? If it can do it in a few seconds then you can consider scheduling the custom action between CostInitialize and InstallFinalize. The CA will set a property and then you can use that property in your UI to decide if a warnign dialog that you author should be shown or not.
Again though, I have to suggest that this isn't a good idea.
I'm trying to build an app that get's selected text from other applications if a certain shortcut/hotkey is pressed. First I tried the Carbon Hotkey API, but then I couldn't get selected text from other applications. Second I've tried building a service that gets the selected text from other applications and is called with a global shortcut, but I wasn't able to use a custom shortcut. Somehow only CMD+SHIFT is allowed as a modifier in the plist and these kind of shortcut is already used in many applications so it's often not working. CTRL and a key would be a cool shortcut, because not many applications use this kind of shortcut, but I can't specify such a modifier.
Any Ideas how to solve this problem?
To answer your second question, you can manually edit the Services plist file. Find details here:
Set Custom KeyEquivalent in Services Menu
We have a WIX Eula box , We need to make sure that user read all the EULA contents before he says accept ?
Is there any way to keep accept check box or button disabled until user scrolls it down completely?
Any help will be really appreciable.
This is not supported by Windows Installer, so it cannot be done in WiX.
It's supported only by some setup authoring tools which use an external installation UI. Their external UI can detect the scroll position and update buttons accordingly.
So for now it would be best to simply use the standard behavior.
I've searched for the solution to change the background color on the Compact Framework's MainMenu control, and the only answer I've found is that you need to create a custom control. Does anyone have example code for this?
I did something vaguely similar where I wanted to handle the WM_EXITMENULOOP message which was not available as an event in .NETCF.
The solution was to "subclass" the Main Menu, an old MFC trick where you replace the WndProc function with your own, handle any windows messages (WM_EXITMENULOOP in my case) and call the base class WndProc for everything else.
Some sample code is available on Alex Yakhnin's blog on how to subclass a control:
Example of subclassing a window in .NETCF
In your case you'd actually be subclassing the Form that the MainMenu resides on, and I think WM_DRAWITEM would be the windows message you'd want to handle yourself.
I haven't tried changing the background color myself so not totally sure this will work, but subclassing would be where I'd start.
There is no way of doing this.
Your right in that you'll probably need to create your own control.
This was something I was considering doing anyway to make the application go on Windows CE and Windows Mobile.
The problem with adding menus when the application needs to work with both is that the menu goes to the top of the screen on Windows CE and covers any controls that might be there.
It would be less hassle in the long run just make a new control.
I tried to do something similar a while back and discovered that you have to write your own menu; essentially from scratch. I gave up because the project I was working on couldn't afford the expense. I also discovered that OpenNETCF has a pretty awesome menu control. I don't know if it's included in their free software, but it might be worth looking into.