Question regarding PermissionEx (WIX) - permissions

I am new to WIX. I am using util:PermissionEx for creating ACLs. I can successfully set rights like read, write, read & execute but I am unable to find any information about setting Modify Permission.
I have tried using "Append" attribute to achieve this functionality (this seems to be the only attribute that may do the desired)
But using this, the following compilation error appears:
"error CNDL0004: The util:PermissionEx element contains an unexpected attribute 'Append'."
Could you please help me out in this. Thanks.

My question, and answer-to-self at WiX Permissions, how do I express 'Modify' in terms of DACL flags may assist in some way in terms of mapping the simple right Modify to specific rights.
Looking at the doc, the Append attribute definitely seems to be permitted - what build of Wix [3] are you using? With the latest version, you should be able to remove util: and Ex from your tag as it all seems to be natiuvely supported now. Other examples also show an Extended attribute, which is not accepted by newer versions.

Related

Opera Next extension autoupdate via update_url

I got problem with my company internal extension. They don't want to publish it, as it does gather data on external server. So I need to host it myself... but would like not to lose ability of autoupdate.
As far as I read I need to use update_url in manifest, but nothing more is said in Opera documentation...
"update_url": "http://path/to/updateInfo.xml", - as it is said in documentation page
Ok... and what should I put in that xml? Will it autoupdate or just notify users about new updates? Where do I put rest of updated files?
I tried to concat Opera itself about this question, but they don't give any contact information except something like if you have problem, ask on stackoverflow... so here I am.
If it does not work, I was thinking about really BAD method, using unsafe-eval and keeping newest version in local storage... but would rather like to avoid that.
In general the behavior is the same as for Chrome. You can base on this document: https://developer.chrome.com/extensions/autoupdate

Unable to remove entity from unmanaged solution when exported

I'm trying to remove the Email entity from an unmanaged solution but on export the entity is added back into the solution and included as part of the export.
I can remove it from the solution fine, save and publish customizations and see that Email is no longer part of the solution. However, when I export the solution irrespective of whether I perform another publish, the Email entity is been added back into the solution and gets included in the unmanaged export. I can successfully remove PhoneCall and Task.
The only dependency on Email is from account which would be resolved on import as the target solution obviously contains Email.
Any ideas as to why I would be seeing this behaviour? Assuming it's not a "feature" any suggestions on how to resolve this would be appreciated.
This issue was related to a Case Creation Rule. We have a rule in the solution that creates the Case from Email and removing this custom rule prevents the reintroduction of the Email entity into the export.
I've reproduced this in a separate solution so I believe this is a bug in the new Case Creation Rules added in SP1. I don't think you'd ever want entities being added to the export without your knowledge on export. They should just be defined like all others as a missing dependency.

How to find installed user of msi?

We need to find the user who has installed msi using powershell.
I was trying to search via HKEY_USERS ,but it is providing sid of the user not the user name of who installed the msi.
Is there any way to find the Installed user ?
(If you have a sid, you can find out the user name, why not?)
But the best way, if the msi is yours, is to save that information during the setup in a registry value, or .ini file you can read out later.
There are two properties, "LogonUser", and "USERNAME", the latter is the user really installing.
If you have no influence on the msi itself, I am not sure, if it is so easy. Interpreting sids seems a good way then.
Nevertheless:
The standard way is to use the API routines MsiGetProductInfo() or MsiGetProductInfoEx(). You can google in MSDN. But I am not sure if they always contain information if these data were not registered during setup dialog. So maybe they are empty after a silent install if there was no registration dialog? I have never used them to find the user who has installed as software. Normally in own setups this is done with explicit dialogs or actions.
One of the way might be by using reg key but there is a function in the windows installer API called MsiEnumProductsEx
you have to specify User SID it querys and checks all installed product for all users

Can't Delete Document in Domino Xpage Application

I have few simple Xpages, where i test and learn the newest features in Domino 8.5.3.
Now, after some latest changes somehow i'm not able to delete Documents. The Application asks me for the User Name and password, which i enter and which are correct. However, nothing happens (well, the system thinks few seconds over) and i'm asked for my credentials again... and again.. If i press "cancel" -> i got the expected result -> error 401.
The strange thing as well, if even i give for the "anonymous" the editor rights with the "delete documents" checked, i'm still asked for the credentials...
Well, i think I need now some ideas and tips where can i look after in order to solve the "undeletable documents" problem.
The "Delete" button is made using the Simple Action "Delete Selected Documents".
Update: After looking into the logs (thanks Simon O'Doherty for the hint below!) i found out the following message
28.02.12 19:20: Exception Thrown
com.ibm.xsp.acl.NoAccessSignal: NotesException: Notes error: Document locking is enabled. You must lock the document before deleting.
After removing the setting "Allow Document locking" everything works fine.
The next question, however, and it seems to be intresting, if i want to use this setting - how to make the standart actions (it looks like at least "Delete Selected Documents" has some problems) work properly ?
Or do i have to use SSJS only ?
In the ACL settings. Click Advanced tab. Check that "Maximum Internet name and password access" is at least a level that allows you to edit documents.
May need to restart your browser for that to be registered.
If it is still an issue at that point then the following Debug may give more hints.
Check the XPages logs in the IBM_TECHNICAL_SUPPORT folder of the server.
Check the elements on the page are not being pulled from another location that would require access.
Check for Authors/Readers fields.
The following debug on the server will allow you to see when an ACL call is made, what is asked for and what it got.
Warning This is very verbose debug, so it should only be activated for the test. Also do not paste the results anywhere externally without first sanitizing. (as it would be confidential to you).
DEBUG_THREADID=1
DEBUG_SERVER_ACL=2
I have also seen this behaviour in our application.
The issue is caused by the "Allow document locking" option.
Either you do not need this feature; then just uncheck in the application properties. If you intend to use the feature, you have to lock the document in your code prior to deleting it.
Add a execute script simple action before delete simple action and write the following code
var doc:NotesDocument = currentDocument.getDocument();
doc.lock();
or
dataSource.getDocument().lock();
It might be as easy as:
- check your ACL. Do you have delete rights? Default is off

Commentable plug-in with Spring Security LDAP

I'm trying to get the commentable plug-in running with the spring security framework ldap plugin from Burt Beckwith.
I found a similar problem here.
The only difference seems to be that I'm using LDAP and the LDAP user details don't have an id, or I'm not seeing it.
I've tried setting the grails.commentable.poster.evaluator to
{com.companyname.sec.User.get(org.springframework.security.core.context.SecurityContextHolder.context.authentication.principal.id)}
and also to
{com.companyname.sec.User.get(principal.id)}
Both of these were suggested in the other issue I referenced above. What I get is the error below:
groovy.lang.MissingPropertyException: No such property: id for class: org.springframework.security.ldap.userdetails.LdapUserDetailsImpl
Possible solutions: dn
This seems to suggest using the dn field, but since that's a string, and the id is a Long, I don't think that's the right option. So, is there a way to configure the grails.commentable.poster.evaluator to get these two plug-ins to work together, or do I need to modify one of them to get a compatible type (i.e. change the commentable plug-in to use a String, and then grab the username from the LDAP user details.)?
Not using the commentable but the spring-security-ldap plugin.
For me this really simple copy&paste solution worked:
Solution on Grails Jira by Burt
Use
{com.companyname.sec.User.findByUsername(principal.username)}
or
{com.companyname.sec.User.findByUsername(org.springframework.security.core.context.SecurityContextHolder.context.authentication.principal.username)}
That gives me the following error:
org.grails.comments.CommentException: No [grails.commentable.poster.evaluator] setting defined or the evaluator doesn't evaluate to an entity. Please define the evaluator correctly in grails-app/conf/Config.groovy or ensure commenting is secured via your security rules
I read that to mean there is no findByUsername method. So, were you suggesting I create that method in order to get at an id value? And I assume correspondingly, that means I need to insert the ldap users into the database in order to generate an id.