[WiX-users] com registration

2011-07-26 Thread Dariel Marlow
I'm using heat to generate the fragment for my COM object. After installing
the MSI, the CLSID entries are not created in the registry. Should I add
Registry elements to my WXS file manually or am I doing something wrong?

 

Thanks,

 

Dariel

--
Magic Quadrant for Content-Aware Data Loss Prevention
Research study explores the data loss prevention market. Includes in-depth
analysis on the changes within the DLP market, and the criteria used to
evaluate the strengths and weaknesses of these DLP solutions.
http://www.accelacomm.com/jaw/sfnl/114/51385063/
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


[WiX-users] MSIUSEREALADMINDETECTION Privileged and AdminUser

2010-05-04 Thread Dariel Marlow
I'm attempting to disallow the installation/uninstallation of the MSI unless it 
is executed from the bootstrapper (which has a requireAdministrator manifest) 
or from an elevated command prompt.

I'm experiencing some inconsistencies with the properties in the subject line.

I set the MSIUSEREALADMINDETECTION to 1 to ensure that the elevation is 
properly recognized. I have a launch condition that specifies:

Condition Message= You must be an administrator (Privileged property) to 
execute the MSI.![CDATA[Privileged]]/Condition

This works great for installation. However, for uninstall, this never shows up.

I added the following condition:

Condition Message=You must be an administrator (AdminUser property) to 
execute the MSI.![CDATA[AdminUser]]/Condition

This works great for the uninstall. However, for the installation, this never 
shows up.

I'd hate to rely on both of them, as it seems unintuitive (and a major hack). 
Shouldn't it be sufficient to specify the first condition?

Thanks,

Dariel
--
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] MSIUSEREALADMINDETECTION Privileged and AdminUser

2010-05-04 Thread Dariel Marlow
Please disregard. Apparently when MSIUSEREALADMINDETECTION is set, it changes 
the AdminUser meaning as specified in the MSDN documentation:

http://msdn.microsoft.com/en-us/library/aa816403(VS.85).aspx

Dariel

-Original Message-
From: Dariel Marlow [mailto:dmar...@microsoft.com] 
Sent: Tuesday, May 04, 2010 11:38 AM
To: wix-users@lists.sourceforge.net
Subject: [WiX-users] MSIUSEREALADMINDETECTION Privileged and AdminUser

I'm attempting to disallow the installation/uninstallation of the MSI unless it 
is executed from the bootstrapper (which has a requireAdministrator manifest) 
or from an elevated command prompt.

I'm experiencing some inconsistencies with the properties in the subject line.

I set the MSIUSEREALADMINDETECTION to 1 to ensure that the elevation is 
properly recognized. I have a launch condition that specifies:

Condition Message= You must be an administrator (Privileged property) to 
execute the MSI.![CDATA[Privileged]]/Condition

This works great for installation. However, for uninstall, this never shows up.

I added the following condition:

Condition Message=You must be an administrator (AdminUser property) to 
execute the MSI.![CDATA[AdminUser]]/Condition

This works great for the uninstall. However, for the installation, this never 
shows up.

I'd hate to rely on both of them, as it seems unintuitive (and a major hack). 
Shouldn't it be sufficient to specify the first condition?

Thanks,

Dariel
--
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


--
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] Update progress bar from deferred custom action

2010-05-03 Thread Dariel Marlow
Matt, thank you! I had nearly the same thing, but was trying to follow the 
steps on the site. Having the immediate and deferred custom actions is what was 
causing me problems.

Thanks again,

Dariel

-Original Message-
From: Matt Johnson [mailto:ma...@timeamerica.com] 
Sent: Monday, May 03, 2010 6:37 AM
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] Update progress bar from deferred custom action

Dariel,

Here are two c# functions that should help you work with the progress bar from 
a managed custom action.  If you're using unmanaged c++ code, refer to 
WcaProgressMessage as Rob suggested.

public static MessageResult ResetProgressBar(Session session, int 
totalStatements) {
  var record = new Record(3);
  record[1] = 0; // Reset message
  record[2] = totalStatements;  // total ticks
  record[3] = 0; // forward motion
  return session.Message(InstallMessage.Progress, record); }

public static MessageResult IncrementProgressBar(Session session) {
  var record = new Record(3);
  record[1] = 2; // ProgressReport message
  record[2] = 1; // ticks to increment
  record[3] = 0; // ignore
  return session.Message(InstallMessage.Progress, record); }


If you get a result of MessageResult.Cancel, it means the user pressed the 
cancel button on the progress dialog and you'll want to exit your custom action 
cleanly with ActionResult.UserExit.



Matt Johnson MCPD, MCTS, MCSD, MCDBA
Director of Application Development
Time America, Inc.
ma...@timeamerica.com | www.timeamerica.com

-Original Message-
From: Matt Johnson [mailto:ma...@timeamerica.com]
Sent: Sunday, May 02, 2010 8:26 PM
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] Update progress bar from deferred custom action

Dariel, I'm doing this in a managed custom action (c#).  I'll post it here 
first thing tomorrow.

-Matt

Sent from my iPhone

On May 2, 2010, at 7:52 PM, Rob Mensching r...@robmensching.com
wrote:

 The WiX toolset uses WcaProgressMessage() to do this. There are a 
 number of examples in the WiX custom action code using it.

 On Sun, May 2, 2010 at 7:03 PM, Dariel Marlow dmar...@microsoft.com 
 wrote:

 I've followed the example on MSDN (
 http://msdn.microsoft.com/en-us/library/aa367525(VS.85).aspx) about 
 adding custom actions to the progress bar, however, only the action 
 text updates.
 The progress bar does not move. Does anyone have an example of how to 
 update the progress bar from within a custom action?

 Thanks,

 Dariel

 ---
 ---
 ---
 -
 ___
 WiX-users mailing list
 WiX-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/wix-users




 -- 
 virtually, Rob Mensching - http://RobMensching.com LLC
 --- 
 --- 
 --- 
 -
 ___
 WiX-users mailing list
 WiX-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/wix-users

--
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

--
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


--
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


[WiX-users] Update progress bar from deferred custom action

2010-05-02 Thread Dariel Marlow
I've followed the example on MSDN 
(http://msdn.microsoft.com/en-us/library/aa367525(VS.85).aspx) about adding 
custom actions to the progress bar, however, only the action text updates. The 
progress bar does not move. Does anyone have an example of how to update the 
progress bar from within a custom action?

Thanks,

Dariel
--
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] Can't get my custom action to read the CustomActionData property.

2010-04-16 Thread Dariel Marlow
I've had luck naming the custom action property to the same name as the custom 
action which needs the data. For example:



CustomAction Id=CA_FileList Property=CA_Relocate

  
Value=MSI;[INSTALLDIR];[#F_txt_Mzc3MjQyNTQ1OA]

  
Return=check /

CustomAction Id=CA_Relocate BinaryKey=B_ClearFolder

DllEntry=Relocate Return=check Execute=deferred /



Also, I found that if you have your Value field formatted in such a way 
(KEY=VALUE;KEY=VALUE;...), your session's CustomActionData property formats it 
properly in the dictionary.



Dariel



-Original Message-
From: Curtis Jewell [mailto:lists.wix-us...@csjewell.fastmail.us]
Sent: Friday, April 16, 2010 7:30 PM
To: discussion for Windows Installer XML toolset.
Subject: [WiX-users] Can't get my custom action to read the CustomActionData 
property.



It's a deferred-execution DLL custom action that I'm writing. Is it that I'm 
doing it too early, too late, the wrong thing, what? (It has to be after 
InstallFiles because it modifies 40 of the 8000 files that were just installed 
to refer to the location that the files were installed to, instead of the 
location that they were built in.)



Here's how the custom action is defined in my main file:



CustomAction Id=CA_FileList Property=CustomActionData

  
Value=MSI;[INSTALLDIR];[#F_txt_Mzc3MjQyNTQ1OA]

  
Return=check /

CustomAction Id=CA_Relocate BinaryKey=B_ClearFolder

DllEntry=Relocate Return=check Execute=deferred /







InstallExecuteSequence

!-- Other custom actions here. --

Custom Action=CA_FileList 
After=InstallFiles/

Custom Action=CA_Relocate 
After=CA_FileList

![CDATA[NOT (NO_RELOCATE OR 
Installed)]]

/Custom

/InstallExecuteSequence



...





And here's the source code.



UINT __stdcall Relocate(

MSIHANDLE hModule) // Handle of MSI being installed. [in]

   // Passed to most other routines.

{

TCHAR sInstallDirectory[MAX_PATH + 1];

TCHAR sRelocationFile[MAX_PATH + 1];

TCHAR sCAData[MAX_PATH * 2 + 7];

UINT uiAnswer;

DWORD dwPropLength;



// Get directory to relocate to.

dwPropLength = MAX_PATH * 2 + 6;

uiAnswer = ::MsiGetProperty(hModule, TEXT(CustomActionData),

sCAData, dwPropLength);

if (ERROR_SUCCESS != uiAnswer) {

return uiAnswer;

}



// *** At this point, uiAnswer = ERROR_SUCCESS, dwPropLength is 0, and sCAData 
is an empty string, *** // *** so the first tokenize call is failing my check 
and returning ERROR_INSTALL_FAILURE. *** // *** Am I doing something wrong 
here? ***



TCHAR *sTokenContext = NULL;

TCHAR *sToken = NULL;



sToken = _tcstok_s(sCAData, _T(;), sTokenContext);

if (0 != _tcscmp(sToken, _T(MSI))) {

return ERROR_INSTALL_FAILURE;

}

sToken = _tcstok_s(NULL, _T(;), sTokenContext);

_tcscpy_s(sInstallDirectory, _MAX_PATH, sToken);

sToken = _tcstok_s(NULL, _T(;), sTokenContext);

_tcscpy_s(sRelocationFile, _MAX_PATH, sToken);



return Relocate_Worker(hModule, sInstallDirectory,

sRelocationFile); // which will return ERROR_SUCCESS or

ERROR_INSTALL_FAILURE as appropriate.



}



And the applicable log entries from a /l:*vx log (the long gap was because I 
was doing some other stuff waiting for the debug stuff to pop

up):



#line 16957

Action ended 18:49:01: InstallFiles. Return value 1.

MSI (s) (08:34) [18:49:01:829]: Doing action: CA_FileList Action 18:49:01: 
CA_FileList.

Action start 18:49:01: CA_FileList.

MSI (s) (08:34) [18:49:01:829]: PROPERTY CHANGE: Adding CustomActionData 
property. Its value is 'MSI;C:\vanilla2\;C:\vanilla2\strawberry-ui.reloc.txt'.

Action ended 18:49:01: CA_FileList. Return value 1.

MSI (s) (08:34) [18:49:01:829]: Doing action: CA_Relocate Action 18:49:01: 
CA_Relocate. Relocating Strawberry Perl...

Action start 18:49:01: CA_Relocate.

1: Relocating Strawberry Perl...

Action ended 18:49:01: CA_Relocate. Return value 1.



#line 70989

MSI (s) (08:34) [18:51:39:847]: Executing op:

ActionStart(Name=CA_Relocate,Description=Relocating Strawberry Perl...,) Action 
18:51:39: CA_Relocate. Relocating Strawberry Perl...

MSI (s) 

Re: [WiX-users] Deferred custom action creates directories in the installation directory

2010-04-14 Thread Dariel Marlow
That's exactly why it is of concern; it doesn't remove the temp directory after 
running. The other is not a native-code custom action, both are managed.

I'll investigate further as to why there are differences and see if I can 
narrow it down.

-Original Message-
From: Bob Arnson [mailto:b...@joyofsetup.com] 
Sent: Wednesday, April 14, 2010 7:56 AM
To: wix-users@lists.sourceforge.net
Subject: Re: [WiX-users] Deferred custom action creates directories in the 
installation directory

On 4/13/2010 9:52 PM, Dariel Marlow wrote:
 I have another installer that is running with elevated privileges and its 
 deferred custom actions are executing from the windows\installer directory. I 
 can't find why one runs from the program files directory while the other runs 
 from windows installer directory. Is there a setting or a way to specify?


The other is probably a native-code custom action; MSI uses its own directory 
for temporary files. Is there a reason it matters where it runs from? DTF 
appears to always clean up the directories it creates.

--
sig://boB
http://joyofsetup.com/


--
Download Intel#174; Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


--
Download Intel#174; Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


[WiX-users] Deferred custom action creates directories in the installation directory

2010-04-13 Thread Dariel Marlow
When running the deferred custom action, a directory is created in the 
installation directory. The log files says that the custom action is being 
extracted to a temporary folder. Why is it not doing this in the typical temp 
directory?

Here's the pertinent part of the log file:

...
MSI (s) (0C:88) [16:06:37:787]: Generating random cookie.
MSI (s) (0C:88) [16:06:37:787]: Created Custom Action Server with PID 3476 
(0xD94).
MSI (s) (0C:98) [16:06:37:819]: Running as a service.
MSI (s) (0C:98) [16:06:37:819]: Hello, I'm your 32bit Elevated custom action 
server.
SFXCA: Extracting custom action to temporary directory: C:\Program 
Files\Product\Product.CA.dll-3\
SFXCA: Binding to CLR version v2.0.50727
Calling custom action Product.DeferredCustomActions! 
Product.DeferredCustomActions.CustomActions.PostInstall
Product: Product event log source started to register event source.
MSI (s) (0C:E8) [16:06:39:925]: Executing op: 
End(Checksum=0,ProgressTotalHDWord=0,ProgressTotalLDWord=8411802)
MSI (s) (0C:E8) [16:06:40:143]: User policy value 'DisableRollback' is 0
MSI (s) (0C:E8) [16:06:40:143]: Machine policy value 'DisableRollback' is 0
Action 16:06:40: RollbackCleanup. Removing backup files
...
--
Download Intel#174; Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] Deferred custom action creates directories in the installation directory

2010-04-13 Thread Dariel Marlow
I have another installer that is running with elevated privileges and its 
deferred custom actions are executing from the windows\installer directory. I 
can't find why one runs from the program files directory while the other runs 
from windows installer directory. Is there a setting or a way to specify?

-Original Message-
From: Bob Arnson [mailto:b...@joyofsetup.com] 
Sent: Tuesday, April 13, 2010 7:15 PM
To: wix-users@lists.sourceforge.net
Subject: Re: [WiX-users] Deferred custom action creates directories in the 
installation directory

On 4/13/2010 6:11 PM, Dariel Marlow wrote:
 When running the deferred custom action, a directory is created in the 
 installation directory. The log files says that the custom action is being 
 extracted to a temporary folder. Why is it not doing this in the typical temp 
 directory?


Security: It ensures that the CA DLL is run from an appropriately ACL'd 
directory, so a nonprivileged user can't overwrite a DLL that the MSI 
server runs with elevated privileges.

-- 
sig://boB
http://joyofsetup.com/


--
Download Intel#174; Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


--
Download Intel#174; Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] using value of checkbox in deferred custom action

2010-04-10 Thread Dariel Marlow
I'm using the property through CustomActionData, but it wasn't showing up. My 
mistake was that I wasn't setting the property as secure. Once I specified 
the property to be secure, it works.

-Original Message-
From: Bob Arnson [mailto:b...@joyofsetup.com] 
Sent: Saturday, April 10, 2010 7:02 AM
To: wix-users@lists.sourceforge.net
Subject: Re: [WiX-users] using value of checkbox in deferred custom action

On 4/9/2010 1:03 AM, Dariel Marlow wrote:
 What's the proper way to set the custom action data to the value of the 
 checkbox control for a deferred custom action? Currently, it seems the value 
 is being set after the ExitDialog Action and after the custom action has 
 executed.


Deferred CAs can't get to properties set in the UI or immediate phases. 
You need to pass it as CustomActionData.

-- 
sig://boB
http://joyofsetup.com/


--
Download Intel#174; Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


--
Download Intel#174; Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


[WiX-users] Best way to change UninstallString

2010-04-10 Thread Dariel Marlow
Currently, when uninstalling from Programs and Features it uses a /x to remove 
the product. This, however, does not show the UI with its options. Is there a 
way to change the default behavior of the UninstallString? I've searched online 
and found that setting ARPNOREMOVE causes the UninstallString to not be set. I 
can then write to the registry and set UninstallString manually. Is this the 
best way of going about it?
--
Download Intel#174; Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


[WiX-users] using value of checkbox in deferred custom action

2010-04-08 Thread Dariel Marlow
What's the proper way to set the custom action data to the value of the 
checkbox control for a deferred custom action? Currently, it seems the value is 
being set after the ExitDialog Action and after the custom action has executed.

--
Download Intel#174; Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


[WiX-users] Several Questions - Zip64, Debugging

2010-03-26 Thread Dariel Marlow
1.   Does WIX support MSI files larger than 4GB? If so, what's the best 
practice on very large MSI files? I'm aware of the CAB file limitations, but 
I've also run into WIX complaining about large files even if they aren't being 
placed into a CAB file. I read briefly in the DTF chm that there is ZIP64 
support for large files. Is that something that is used from within the WXS 
file?

2.   Debugging managed custom actions does not load symbols. After reading 
the different ways on getting debugging to work 
(http://blog.torresdal.net/CommentView,guid,bfebe347-ad82-4c76-a96e-1c22aa39efc9.aspx)
 I've not been able to successfully step through in VS with my code and 
symbols. Is there documentation on how to get this working successfully?

Dariel
--
Download Intel#174; Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users