custom-action

Inserting Custom Action between Dialogs (InstallUISequence) in WiX

你说的曾经没有我的故事 提交于 2019-11-30 13:58:33
I have two custom dialog boxes (plus the required ones ExitDlg , FatalErrorDlg , etc.), the first one sets a property using an Edit control and the second one shows this property using a Text control. Here is the meaningful code: <Dialog Id="DialogA" ...> <Control Id="ControlEdit" Type="Edit" Property="MY_PROPERTY" .../> <Control Id="ControlNext" Type="PushButton" ...> <Publish Event="EndDialog" Value="Return" /></Control> </Dialog> And then the second dialog: <Dialog Id="DialogB" ...> <Control Id="ControlText" Type="Text" Text="[MY_PROPERTY]" .../> <Control Id="ControlBack" Type="PushButton"

How do I write custom action DLL for use in an MSI?

自闭症网瘾萝莉.ら 提交于 2019-11-30 12:33:55
问题 This is a question I intend to answer myself, but please feel free to add other ways to accomplish this. I was packaging an application for use on a wide variety of configurations, and I determined that the most reliable way to perform custom logic within my MSI would be to write my own custom action DLL that would be able to read/write from the PROPERTY table, kill a process, determine if an application needed to be upgraded (and then record the answer in the PROPERTY table), and write to

Is there alternative way to access session details in deferred custom action?

会有一股神秘感。 提交于 2019-11-30 11:21:35
问题 I have a custom action and need to get below values for copying some parts from installation folder to VS2010 folder VS2010 directory path ( VS2010DEVENV property) Installation path ( INSTALLLOCATION property) To give enough privileges, I've set custom action as Execute='deferred' Impersonate='no' . But when running the installer, it logged the message: Cannot access session details from a non-immediate custom action It seems we cannot access a property in a "deferred" custom action (i.e

Installing a certificate in a .MSI Custom Action doesn't work properly

旧巷老猫 提交于 2019-11-30 09:41:05
I'm trying to install a certificate in the Local Machine Store in a custom action. The certificate is installed, but when I use it to query AWS, I get this error: Object contains only the public half of a key pair. A private key must also be provided. The installer is running elevated , the target is Windows Vista. If I use a separate .exe to install the exact same certificate, using the exact same code, it works. So what is it that differs when installing a certificate using the Windows Installer? The code: private void InstallCertificate(string certificatePath, string certificatePassword) {

Showing custom form before installation?

别来无恙 提交于 2019-11-30 09:10:20
问题 I am creating a setup for windows application, i want to show a form when user clicks on setup. That form will ask for password to the user. Right password will lead to the proper installation of the setup otherwise setup installation will be cancelled. How to do this, if some one provide a link for it. Thanks in advance. 回答1: Following would be the easiest approach, First create a Windows Form which allows the user to enter password. Windows Form should have the necessary implementation to

Private key of certificate in certificate-store not readable

喜夏-厌秋 提交于 2019-11-30 06:57:32
I think I've got the same issue like this guy , but I wasn't as lucky as him/her since the solution provided doesn't work for me. The solution provided looks for files on the C:\ProgramData\Microsoft\Crypto\RSA\MachineKeys ( not in sub directories) and C:\Users\[Username]\AppData\Roaming\Microsoft\Crypto\RSA (and subdirectories) However since I want the setup to install the application to all users, the custom action is running under the SYSTEM -User, which leads the files beeing actually created in C:\ProgramData\Application Data\Microsoft\Crypto\RSA\S-1-5-18 . When running an "normal"

How to execute a WiX custom action DLL file with dependencies

混江龙づ霸主 提交于 2019-11-30 04:48:31
I want to create a CustomAction C# DLL file that depends on a third-party .NET DLL (in this specific case, it's MySql.Data.dll ). I have the C# custom action DLL file working with the WiX fragment below. I'm just trying to figure out how to safely add a dependency to the custom action. Note: I don't actually need this third-party DLL file file for the installed application to run. <Binary Id="MyCustomAction.dll" SourceFile="MyCustomAction.CA.dll" /> <CustomAction Id="FixupConfigForMysql" Return="check" /> <InstallExecuteSequence> <Custom Action='FixupConfigForMysql' After='InstallFiles'>NOT

How do I write custom action DLL for use in an MSI?

送分小仙女□ 提交于 2019-11-30 02:28:53
This is a question I intend to answer myself, but please feel free to add other ways to accomplish this. I was packaging an application for use on a wide variety of configurations, and I determined that the most reliable way to perform custom logic within my MSI would be to write my own custom action DLL that would be able to read/write from the PROPERTY table, kill a process, determine if an application needed to be upgraded (and then record the answer in the PROPERTY table), and write to the standard MSI log. My solution is in Delphi, and requires the open-source JEDI API translations that

Is there alternative way to access session details in deferred custom action?

僤鯓⒐⒋嵵緔 提交于 2019-11-29 23:59:12
I have a custom action and need to get below values for copying some parts from installation folder to VS2010 folder VS2010 directory path ( VS2010DEVENV property) Installation path ( INSTALLLOCATION property) To give enough privileges, I've set custom action as Execute='deferred' Impersonate='no' . But when running the installer, it logged the message: Cannot access session details from a non-immediate custom action It seems we cannot access a property in a "deferred" custom action (i.e session["VS2010DEVENV"] ) Is there any other way so that I can retrieve those values as needed? This must

Windows Installer custom actions: commit action won't get executed

随声附和 提交于 2019-11-29 16:43:46
I am designing a windows installer project using WIX. Now it fails in the installation, because the Commit custom action won't get executed, which is caused, weirdly, because a scheduled following custom action has one route to return ActionResult.Success . Let me explain in details: Basically I have two custom actions regarding to installation: one called CommitCA and one called InstallCA. The execution schedule is listed as below: <CustomAction Id="CommitCA" BinaryKey="CustomActionDll" DllEntry="CommitCA" Execute="commit" Return="check" Impersonate="no"/> <CustomAction Id="InstallCA"