Error code 2869 with Vista<p>We have our application Setup program created using Visual Studio 2005 (Setup &amp; Deployment project). Our application setup program runs fine on Windows XP / 2003, however we get the following error message when we try to run the setup program under Vista:</p> <p><strong>The installer has encountered an unexpected error installing this package. This may indicate a problem with this package. The error code is 2869.</strong></p> <p>According to the Windows Installer documentation, error 2869 means &quot;The dialog [2] has the error style bit set, but is not an error dialog.&quot;</p> <p>I don't understand what the issue could be here? Do we need to create/build a separate installer for Windows Vista?</p> <p> </p> <p> </p> <p> </p>© 2009 Microsoft Corporation. All rights reserved.Fri, 20 Nov 2009 00:04:17 Z798f637a-b15e-4dc7-9f24-c0cb3fe57893http://social.msdn.microsoft.com/Forums/en-US/winformssetup/thread/798f637a-b15e-4dc7-9f24-c0cb3fe57893#798f637a-b15e-4dc7-9f24-c0cb3fe57893http://social.msdn.microsoft.com/Forums/en-US/winformssetup/thread/798f637a-b15e-4dc7-9f24-c0cb3fe57893#798f637a-b15e-4dc7-9f24-c0cb3fe57893Ameya Barvehttp://social.msdn.microsoft.com/Profile/en-US/?user=Ameya%20BarveError code 2869 with Vista<p>We have our application Setup program created using Visual Studio 2005 (Setup &amp; Deployment project). Our application setup program runs fine on Windows XP / 2003, however we get the following error message when we try to run the setup program under Vista:</p> <p><strong>The installer has encountered an unexpected error installing this package. This may indicate a problem with this package. The error code is 2869.</strong></p> <p>According to the Windows Installer documentation, error 2869 means &quot;The dialog [2] has the error style bit set, but is not an error dialog.&quot;</p> <p>I don't understand what the issue could be here? Do we need to create/build a separate installer for Windows Vista?</p> <p> </p> <p> </p> <p> </p>Mon, 22 Jan 2007 18:42:58 Z2007-01-22T18:42:58Zhttp://social.msdn.microsoft.com/Forums/en-US/winformssetup/thread/798f637a-b15e-4dc7-9f24-c0cb3fe57893#eb483664-af20-4c45-9d9a-919d0578807bhttp://social.msdn.microsoft.com/Forums/en-US/winformssetup/thread/798f637a-b15e-4dc7-9f24-c0cb3fe57893#eb483664-af20-4c45-9d9a-919d0578807bStefan Kruegerhttp://social.msdn.microsoft.com/Profile/en-US/?user=Stefan%20KruegerError code 2869 with Vista<p>This indicates that a dialog in your setup is improperly authored. But it may not the root cause for the failure. I guess your setup is encountering whatever error, and when it tries to display the error message it detects a problem with the error dialog. So I'd suggest you generate a verbose log of the install to find the root cause:</p> <p>msiexec.exe /i your.msi /L*v c:\logfile.txt</p> <p>And of course: fix the dialog.</p>Mon, 22 Jan 2007 22:38:12 Z2007-01-22T22:38:12Zhttp://social.msdn.microsoft.com/Forums/en-US/winformssetup/thread/798f637a-b15e-4dc7-9f24-c0cb3fe57893#fa4ce446-603b-49ed-8ec8-19691592f94ehttp://social.msdn.microsoft.com/Forums/en-US/winformssetup/thread/798f637a-b15e-4dc7-9f24-c0cb3fe57893#fa4ce446-603b-49ed-8ec8-19691592f94eGabriel Lozano-Moránhttp://social.msdn.microsoft.com/Profile/en-US/?user=Gabriel%20Lozano-Mor%u00e1nError code 2869 with Vista<p>I receive the same message trying to install Guidance Automation Toolkit on Windows Vista. A workaround is to create a shortcut:</p> <p>msiexec.exe /i &lt;name of the msi&gt;.msi</p> <p>And run this shortcut as an Administrator.</p>Thu, 01 Feb 2007 06:03:39 Z2007-02-01T06:03:39Zhttp://social.msdn.microsoft.com/Forums/en-US/winformssetup/thread/798f637a-b15e-4dc7-9f24-c0cb3fe57893#f079a378-520e-453a-a64f-d133f6e55f63http://social.msdn.microsoft.com/Forums/en-US/winformssetup/thread/798f637a-b15e-4dc7-9f24-c0cb3fe57893#f079a378-520e-453a-a64f-d133f6e55f63katrashhttp://social.msdn.microsoft.com/Profile/en-US/?user=katrashError code 2869 with Vista<p>The source of problems occur when the installer tries to execute another application under Vista. The new process will not have the required credentials to run and so it might fail if any of its actions requires elevated credentials. For more on this see: Teach Your Apps To Play Nicely With Windows Vista User Account Control (<a title="http://msdn.microsoft.com/msdnmag/issues/07/01/UAC/" href="http://msdn.microsoft.com/msdnmag/issues/07/01/UAC/">http://msdn.microsoft.com/msdnmag/issues/07/01/UAC/</a>).<br></p>Tue, 10 Apr 2007 22:11:42 Z2007-04-10T22:11:42Zhttp://social.msdn.microsoft.com/Forums/en-US/winformssetup/thread/798f637a-b15e-4dc7-9f24-c0cb3fe57893#a9573dc2-7440-48f6-a487-8f97a64f5e63http://social.msdn.microsoft.com/Forums/en-US/winformssetup/thread/798f637a-b15e-4dc7-9f24-c0cb3fe57893#a9573dc2-7440-48f6-a487-8f97a64f5e63Ameya Barvehttp://social.msdn.microsoft.com/Profile/en-US/?user=Ameya%20BarveError code 2869 with Vista<span style="font-weight:bold">Snippet from the article above:</span><br> <hr style="width:100%;height:2px"> To specify that a package can only be installed by an administrator into the Public profile, set ALLUSERS=&quot;1&quot; or ALLUSERS=&quot;2&quot; and set bit 3 of the Word Count Summary property to 0. To specify that a package is a per-user installation that can be installed by a standard user, set ALLUSERS=&quot;&quot; or don't define the property, and set bit 3 of the Word Count Summary property to 1.<br> <hr style="width:100%;height:2px"> <br>We use VisualStudio 2005 to create our installer, and I'm guessing that ALLUSERS = &quot;&quot; can be set by specifying InstallAllUsers=False in the Deployment Project Properties window. However, I don't know how to set bit 3 of the Word Count Summary property to 1. <span style="text-decoration:underline">Could someone point me to the correct place where I could set this?</span> <br><br><br><span style="font-weight:bold">Another snippet:</span><br> <hr style="width:100%;height:2px"> .. these MSI files fail because the CustomActions attempt to do something that requires administrator privileges. Usually this can be fixed by merely adding the msidbCustomActionTypeNoImpersonate attribute to the CustomActions.<br> <hr style="width:100%;height:2px"> <br>I'm guessing this is an attribute I attach to my CustomActions class, <span style="text-decoration:underline">does anyone have a C# sample of what the attribute looks like?</span><br><br>Thx!<br><br><br>Wed, 16 May 2007 20:58:45 Z2007-05-16T20:58:45Zhttp://social.msdn.microsoft.com/Forums/en-US/winformssetup/thread/798f637a-b15e-4dc7-9f24-c0cb3fe57893#5e67bd31-c853-4e2b-afd9-b978d2d752d2http://social.msdn.microsoft.com/Forums/en-US/winformssetup/thread/798f637a-b15e-4dc7-9f24-c0cb3fe57893#5e67bd31-c853-4e2b-afd9-b978d2d752d2cfranchukhttp://social.msdn.microsoft.com/Profile/en-US/?user=cfranchukError code 2869 with VistaI encountered the same problem a while back and for the most part the only information I could find was to run the installer from a command prompt with administrative priveleges or other work arounds.  In my case, the MSI package needs to be distributed through SMS.  I want a clean and simple solution.  The MSI I have been building is built with Visual Studio 2005.  It doesn't exactly give the option of setting the impersonate settings for CustomActions included in the MSI.  My installer has a managed custom action that was not getting the Administrative priveleges that the rest of the installer is running under.  To fix this I installed a program named ORCA.  Once installed i opened ORCA and used it to open the MSI package.  On the left-hand side a list of editable regions of the MSI are listed.  I navigated to the CustomAction package and located an action with a value of 1025.  There are probably a few different values that this can contain.  using the wonderful MSDN documentation i located a value that turns ont he impersonation feature, 3137.  After changing the 1025 -&gt; 3137 i saved the file, closed ORCA, loaded the MSI on to a vista machine and it installed without any problems. <br>Fri, 28 Mar 2008 16:31:56 Z2008-03-28T16:31:56Zhttp://social.msdn.microsoft.com/Forums/en-US/winformssetup/thread/798f637a-b15e-4dc7-9f24-c0cb3fe57893#c62819f6-2874-4a79-af6d-5ff9868e78c2http://social.msdn.microsoft.com/Forums/en-US/winformssetup/thread/798f637a-b15e-4dc7-9f24-c0cb3fe57893#c62819f6-2874-4a79-af6d-5ff9868e78c2katrashhttp://social.msdn.microsoft.com/Profile/en-US/?user=katrashError code 2869 with Vista<p>I've solved this long time ago in a way that enables it to be added to automated build using some help from the internet (links are shown below). Run this script after creating the MSI file. Save this script to a file called &quot;NoImpersonate.vbs&quot; and invoke it from a command line as this: <p>cscript NoImpersonate.vbs MSI-FILE</p> <p>Here is the script code:</p> <p align=left> </p><font color="#008000" size=3> <p><font face=Courier size=2>'' --------------------------------------------------------------------------------------------------------------------------------------------------------------------</font></p> <p><font face=Courier size=2>'' From:</font></p> <p><font face=Courier size=2>'' http://blogs.msdn.com/mshneer/archive/2007/03/02/windows-installer-fails-on-vista-with-2869-error-code.aspx</font></p> <p><font face=Courier size=2>'' http://www.shahine.com/omar/VSTOAddinsAndVista.aspx</font></p> <p><font face=Courier size=2>'' http://msdn2.microsoft.com/en-us/library/aa368069.aspx</font></p> <p><font face=Courier size=2>'' Since I had the same problems, I combined the 2 scripts, Aaron and Misha proposed to 1.</font></p> <p><font face=Courier size=2>'' For those, who are not developers and try to install an existing Msi, just run the script on the msi:</font></p> <p><font face=Courier size=2>'' cscript &lt;path to the script&gt; &lt;path to the msi&gt;</font></p> <p><font face=Courier size=2>'' Here is the script, most of it is taken from Aarons post of setting the NoImpersonate-Flag:</font></p> <p><font face=Courier size=2>'' prepare MSI-Files for use on Vista-Systems</font></p> <p><font face=Courier size=2>'' Visual Studio forgot to include 2 things:</font></p> <p><font face=Courier size=2>'' 1. Mark Custom Actions as NoImpersonate, otherwise an Security-Error results in Error 2869</font></p> <p><font face=Courier size=2>'' 2. User-Exceptions in CustomActions are not shown. Instead a plain Error 2869 without description occurs.</font></p> <p><font face=Courier size=2>'' Therefore Error-Message for this case has to be defined.</font></p> <p><font face=Courier size=2>'' cscript NoImpersonate.vbs &lt;msi-file&gt;</font></p> <p><font face=Courier size=2>'' Performs a post-build fixup of an msi to change all deferred custom actions (CA) to NoImpersonate</font></p> <p><font face=Courier size=2></font> </p></font><font color="#0000ff"> <p><font face=Courier>Option</font></font><font face=Courier> <font color="#0000ff">Explicit</p></font></font><font face=Courier color="#008000"> <p>'' Constant values from Windows Installer</p></font><font color="#0000ff"> <p><font face=Courier>Const</font></font><font face=Courier> msiOpenDatabaseModeTransact = 1</font></p><font color="#0000ff"> <p><font face=Courier>Const</font></font><font face=Courier> msiViewModifyInsert = 1</font></p><font color="#0000ff"> <p><font face=Courier>Const</font></font><font face=Courier> msiViewModifyUpdate = 2</font></p><font color="#0000ff"> <p><font face=Courier>Const</font></font><font face=Courier> msiViewModifyAssign = 3</font></p><font color="#0000ff"> <p><font face=Courier>Const</font></font><font face=Courier> msiViewModifyReplace = 4</font></p><font color="#0000ff"> <p><font face=Courier>Const</font></font><font face=Courier> msiViewModifyDelete = 6</font></p><font color="#0000ff"> <p><font face=Courier>Const</font></font><font face=Courier> msidbCustomActionTypeInScript = &amp;H00000400</font></p><font color="#0000ff"> <p><font face=Courier>Const</font></font><font face=Courier> msidbCustomActionTypeNoImpersonate = &amp;H00000800</font></p><font color="#0000ff"> <p><font face=Courier>Dim</font></font><font face=Courier> databaseFile</font></p><font color="#0000ff"> <p><font face=Courier>Dim</font></font><font face=Courier> installer : <font color="#0000ff">Set</font> installer = </font><font color="#0000ff"><font face=Courier>Nothing</font></p> <p><font face=Courier>Dim</font></font><font face=Courier> database : <font color="#0000ff">Set</font> database = </font><font color="#0000ff"><font face=Courier>Nothing</font></p> <p><font face=Courier>Dim</font></font><font face=Courier> sql</font></p><font color="#0000ff"> <p><font face=Courier>Dim</font></font><font face=Courier> View, Record</font></p><font color="#0000ff"> <p><font face=Courier>Dim</font></font><font face=Courier> openMode : openMode = msiOpenDatabaseModeTransact</font></p><font color="#0000ff"> <p><font face=Courier>On</font></font><font face=Courier> <font color="#0000ff">Error</font> <font color="#0000ff">Resume</font> </font><font color="#0000ff"><font face=Courier>Next</font></p> <p><font face=Courier>Call</font></font><font face=Courier> Main()</font></p><font color="#0000ff"> <p><font face=Courier>Sub</font></font><font face=Courier> Main()</font></p> <p><font face=Courier><font color="#0000ff">If</font> WScript.Arguments.Length &lt;&gt; 1 <font color="#0000ff">Then</p></font></font> <p><font face=Courier>Fail(<font color="#800000">&quot;Usage is: cscript &quot;</font> &amp; WScript.ScriptName &amp; <font color="#800000">&quot; [msi file]&quot;</font>)</font></p> <p><font face=Courier><font color="#0000ff">End</font> <font color="#0000ff">If</p></font></font> <p><font face=Courier>databaseFile = WScript.Arguments(0)</font></p> <p><font color="#008000"><font face=Courier>'WScript.Echo(WScript.ScriptName &amp; &quot;: operating on file '&quot; &amp; databaseFile &amp; &quot;'&quot;)</font></p></font> <p><font color="#008000"><font face=Courier>'' Instantiate Windows Installer object</font></p></font> <p><font face=Courier><font color="#0000ff">Set</font> installer = WScript.CreateObject(<font color="#800000">&quot;WindowsInstaller.Installer&quot;</font>) : CheckError</font></p> <p><font color="#008000"><font face=Courier>'' Open the MSI database</font></p></font> <p><font face=Courier><font color="#0000ff">Set</font> database = installer.OpenDatabase(databaseFile, openMode) : CheckError</font></p> <p><font face=Courier>Proc1 : CheckError</font></p> <p><font color="#008000"><font face=Courier>'Proc2 : CheckError</font></p></font> <p><font face=Courier><font color="#0000ff">If</font> openMode = msiOpenDatabaseModeTransact <font color="#0000ff">Then</font> </font></p> <p><font face=Courier>database.Commit</font></p> <p><font face=Courier><font color="#0000ff">End</font> <font color="#0000ff">If</p></font></font> <p><font face=Courier>WScript.Quit 0</font></p><font color="#0000ff"> <p><font face=Courier>End</font></font><font face=Courier> </font><font color="#0000ff"><font face=Courier>Sub</font></p> <p><font face=Courier>Sub</font></font><font face=Courier> Proc1()</font></p> <p><font color="#008000"><font face=Courier>'' 1. problem: CustomActions in Vista have to run with NoImpersonate</font></p></font> <p><font face=Courier>sql = <font color="#800000">&quot;SELECT `Action`, `Type`, `Source`, `Target` FROM `CustomAction`&quot;</p></font></font> <p><font face=Courier><font color="#0000ff">Set</font> View = database.OpenView(sql) : CheckError</font></p> <p><font face=Courier>View.Execute : CheckError</font></p> <p><font color="#0000ff"><font face=Courier>Do</font></p></font> <p><font face=Courier><font color="#0000ff">Set</font> Record = View.Fetch</font></p> <p><font face=Courier><font color="#0000ff">If</font> Record <font color="#0000ff">Is</font> <font color="#0000ff">Nothing</font> <font color="#0000ff">Then</font> <font color="#0000ff">Exit</font> <font color="#0000ff">Do</p></font></font> <p><font color="#008000"><font face=Courier>'typeVal = Record.IntegerData(2)</font></p></font> <p><font face=Courier><font color="#0000ff">If</font> (Record.IntegerData(2) <font color="#0000ff">And</font> msidbCustomActionTypeInScript) &lt;&gt; 0 <font color="#0000ff">Then</p></font></font> <p><font color="#008000"><font face=Courier>'WScript.Echo &quot;Here 1, Type=&quot; &amp; Record.IntegerData(2)</font></p></font> <p><font face=Courier>Record.IntegerData(2) = Record.IntegerData(2) <font color="#0000ff">Or</font> msidbCustomActionTypeNoImpersonate</font></p> <p><font color="#008000"><font face=Courier>'WScript.Echo &quot;Here 2, Type=&quot; &amp; Record.IntegerData(2)</font></p></font> <p><font face=Courier>View.Modify msiViewModifyReplace, Record : CheckError</font></p> <p><font face=Courier><font color="#0000ff">End</font> <font color="#0000ff">If</p></font></font> <p><font color="#0000ff"><font face=Courier>Loop</font></p></font> <p><font face=Courier>View.Close</font></p><font color="#0000ff"> <p><font face=Courier>End</font></font><font face=Courier> </font><font color="#0000ff"><font face=Courier>Sub</font></p> <p><font face=Courier>Sub</font></font><font face=Courier> Proc2()</font></p> <p><font color="#008000"><font face=Courier>'' 2. problem: explicit format User-Errors, otherwise they are not visible in Vista, the User just sees Error 2869</font></p></font> <p><font face=Courier>sql = <font color="#800000">&quot;INSERT INTO `Error` (`Error`, `Message`) VALUES (1001, 'Error [1]: [2]')&quot;</p></font></font> <p><font face=Courier><font color="#0000ff">Set</font> View = database.OpenView(sql) : CheckError</font></p> <p><font face=Courier>WScript.Echo <font color="#800000">&quot;Here 2&quot;</p></font></font> <p><font face=Courier>View.Execute : CheckError</font></p> <p><font face=Courier>WScript.Echo <font color="#800000">&quot;Here 3&quot;</p></font></font> <p><font face=Courier>View.Close</font></p><font color="#0000ff"> <p><font face=Courier>End</font></font><font face=Courier> </font><font color="#0000ff"><font face=Courier>Sub</font></p> <p><font face=Courier>Sub</font></font><font face=Courier> CheckError</font></p> <p><font face=Courier><font color="#0000ff">Dim</font> message, errRec</font></p> <p><font face=Courier><font color="#0000ff">If</font> Err = 0 <font color="#0000ff">Then</font> <font color="#0000ff">Exit</font> <font color="#0000ff">Sub</p></font></font> <p><font face=Courier>message = Err.Source &amp; <font color="#800000">&quot; &quot;</font> &amp; Hex(Err) &amp; <font color="#800000">&quot;: &quot;</font> &amp; Err.Description</font></p> <p><font face=Courier><font color="#0000ff">If</font> <font color="#0000ff">Not</font> installer <font color="#0000ff">Is</font> <font color="#0000ff">Nothing</font> <font color="#0000ff">Then</p></font></font> <p><font face=Courier><font color="#0000ff">Set</font> errRec = installer.LastErrorRecord</font></p> <p><font face=Courier><font color="#0000ff">If</font> <font color="#0000ff">Not</font> errRec <font color="#0000ff">Is</font> <font color="#0000ff">Nothing</font> <font color="#0000ff">Then</font> message = message &amp; vbLf &amp; errRec.FormatText</font></p> <p><font face=Courier><font color="#0000ff">End</font> <font color="#0000ff">If</p></font></font> <p><font face=Courier>Fail message</font></p><font color="#0000ff"> <p><font face=Courier>End</font></font><font face=Courier> </font><font color="#0000ff"><font face=Courier>Sub</font></p> <p><font face=Courier>Sub</font></font><font face=Courier> Fail(message)</font></p> <p><font face=Courier>Wscript.Echo message</font></p> <p><font face=Courier>Wscript.Quit 2</font></p><font color="#0000ff"> <p><font face=Courier>End</font></font><font face=Courier> <font color="#0000ff">Sub</p></font></font><font face=Courier color="#008000"> <p>'' --------------------------------------------------------------------------------------------------------------------------------------------------------------------</p></font>Fri, 28 Mar 2008 19:43:42 Z2008-03-28T19:43:42Zhttp://social.msdn.microsoft.com/Forums/en-US/winformssetup/thread/798f637a-b15e-4dc7-9f24-c0cb3fe57893#28906ed2-0fa2-48e6-ae4e-80c1e0b042dahttp://social.msdn.microsoft.com/Forums/en-US/winformssetup/thread/798f637a-b15e-4dc7-9f24-c0cb3fe57893#28906ed2-0fa2-48e6-ae4e-80c1e0b042daPhilWilsonhttp://social.msdn.microsoft.com/Profile/en-US/?user=PhilWilsonError code 2869 with VistaVisual Studio 2008 Setup Projects generate MSI files that have that &quot;no impersonate&quot; bit already set, so the Orca fix isn't necessary. <p align=left><font face=Arial size=2></font> </p>Fri, 28 Mar 2008 19:46:30 Z2008-03-28T19:46:30Zhttp://social.msdn.microsoft.com/Forums/en-US/winformssetup/thread/798f637a-b15e-4dc7-9f24-c0cb3fe57893#f06e7cf8-7cc0-4233-a18c-acf2e2cce954http://social.msdn.microsoft.com/Forums/en-US/winformssetup/thread/798f637a-b15e-4dc7-9f24-c0cb3fe57893#f06e7cf8-7cc0-4233-a18c-acf2e2cce954Terje Myklebusthttp://social.msdn.microsoft.com/Profile/en-US/?user=Terje%20MyklebustError code 2869 with Vista<p align=left><font face=Arial size=2>I got this error when I try to run the MSI file.  If I start the EXE file (thet in the next fase use the MSI file) i works without any problem.</font></p>I use VS2008Thu, 17 Apr 2008 10:10:25 Z2008-04-17T10:10:25Zhttp://social.msdn.microsoft.com/Forums/en-US/winformssetup/thread/798f637a-b15e-4dc7-9f24-c0cb3fe57893#f9e3ea7e-7b4c-42e8-928f-27c45172da32http://social.msdn.microsoft.com/Forums/en-US/winformssetup/thread/798f637a-b15e-4dc7-9f24-c0cb3fe57893#f9e3ea7e-7b4c-42e8-928f-27c45172da32Michael Bletermanhttp://social.msdn.microsoft.com/Profile/en-US/?user=Michael%20BletermanError code 2869 with VistaSome our customers receiving this error during the installation on Windows XP Professional SP2. MSI runs Custom Actions that uses .Net dll that invokes web service.<br> Users are administrators and PC connected to the internet. Any ideas?<br><br>Best regards,<br>Michael<br>Thu, 15 Jan 2009 16:08:12 Z2009-01-15T16:09:32Zhttp://social.msdn.microsoft.com/Forums/en-US/winformssetup/thread/798f637a-b15e-4dc7-9f24-c0cb3fe57893#d7b56ca5-c106-4f88-bbfb-028bfd37a672http://social.msdn.microsoft.com/Forums/en-US/winformssetup/thread/798f637a-b15e-4dc7-9f24-c0cb3fe57893#d7b56ca5-c106-4f88-bbfb-028bfd37a672PhilWilsonhttp://social.msdn.microsoft.com/Profile/en-US/?user=PhilWilsonError code 2869 with Vista Try starting a new thread rather than resurrecting this old one.  Describe what kind of setup it is (a web setup or ordinary setup&amp;deployment) and which version of Visual Studio.  Error 2869 is a generic one that unfortunately obscurs the actual error just prior to it. Doing the install with an MSI log may tell you what's going wrong:<br><br>msiexec /i &lt;path to msi&gt; /l*vx &lt;path to some text log file&gt; <hr class="sig">Phil WilsonThu, 15 Jan 2009 21:01:19 Z2009-01-15T21:01:19Zhttp://social.msdn.microsoft.com/Forums/en-US/winformssetup/thread/798f637a-b15e-4dc7-9f24-c0cb3fe57893#7c72d118-1639-444a-b8fc-d802df570276http://social.msdn.microsoft.com/Forums/en-US/winformssetup/thread/798f637a-b15e-4dc7-9f24-c0cb3fe57893#7c72d118-1639-444a-b8fc-d802df570276NatureBoiyhttp://social.msdn.microsoft.com/Profile/en-US/?user=NatureBoiyError code 2869 with VistaYou are having the same problem as described above. XP Professional has the same user access security turned on by default like Vista, this causes programmes run by users (even if that user is an administrator) to run with less privileges unless the programme has a manifest to elevate its privileges. Unfortunately as far as I know you can not attach manifests to customer actions of MSI files. The MSI , running under administrator, is starting new processes for the custom actions and they start with the lower privileges. Setting the NoImpersonate flag stops the administrator from pretending to be a user with less privileges when starting these new processes. Mon, 26 Jan 2009 16:14:10 Z2009-01-26T16:14:10Zhttp://social.msdn.microsoft.com/Forums/en-US/winformssetup/thread/798f637a-b15e-4dc7-9f24-c0cb3fe57893#611dd476-f010-4d6a-a882-b63f84e29fddhttp://social.msdn.microsoft.com/Forums/en-US/winformssetup/thread/798f637a-b15e-4dc7-9f24-c0cb3fe57893#611dd476-f010-4d6a-a882-b63f84e29fddDukeDickinsonhttp://social.msdn.microsoft.com/Profile/en-US/?user=DukeDickinsonError code 2869 with VistaHi, I appologise for starting up this old thread again. Not sure where to post this otherwise. If anyone could point that out the that would be helpfull. <br/> <br/> I'm experiencing the MS Installer 2869 error as explained above in thread on Vista with VS 2005. I've run scrip to set the NoImpersonate bit on the custom action. I am running my setup.msi from the command prompt with admin rights (selected the cmd.exe as run as administrator).<br/> <br/> I have used the .Net Framework 2.0 Configuration tool to set my Runtime Security Policy Machine Code Groups My_Computer_Zone permission set to Everything. In this state the install fails. When the permission is set to Full Trust the install succeeds no problem. I've done this at the recommendation of the MS Self Paced Exam Prep for 70-536.<br/> <br/> Am I right in thinking that when set to Full Trust any CAS statements in my code are completely ignored? The setup project attempts to install an untouched windows forms application. It doesn't do anything but do the default stuff provided by the template.<br/> <br/> I seems as though an end user of an application might install it with at least an Everything permission set, otherwise CAS is ignored.<br/> <br/> Any feedback would be most appreciated.<br/> <br/> Thanks.Fri, 20 Nov 2009 00:04:15 Z2009-11-20T00:04:15Z