Blank Automation Box: Cannot Get Permission for Word 16.52 on Big Sur 11.5.2

Been trying to get permission for word to use Zotero on Mac, but the automation box is empty. I tried wiping all the previous settings of Zotero via the terminal as suggested in a thread, but to no avail. Help?
  • edited September 15, 2021
    Let's take a step back. What's the actual problem you're facing? Are you getting an error about permissions? What's the error? Have you tried restarted your computer? Can you provide a Report ID?
  • Ok. I'm trying to add citations from Zotero to my word document. Mac says no, cause Zotero does not have permissions, and provides a guide that points me to the system preferences -> security and privacy -> automation section, and asks me to click on the box that says word. But the box in the automation section is blank.

    I haven't tried rebooting yet, and I don't have a report ID.
  • I have the same issue as well, using Word 16.52 with either of the release or beta Zotero versions on Mac OS 10.15.7. The Zotero plugin in Word complains that it needs permission for Microsoft Word under System Preferences > Security & Privacy > Privacy > Automation. I'd be happy to give it, but it is not triggering any dialog to actually allow or disallow permission for Word. It does, however, trigger a dialog for "System Events.app", but this allowing this doesn't seem help any.

    I just recently upgraded from 10.13, and got this error the first time I tried using Zotero since then. Restarting didn't change anything for me.

    Also, entering the following in Terminal:

    osascript -e 'tell application "Microsoft Word" to insert text "hello" at the end of text object of active document'

    does trigger a permission dialog for Word, so this seems to be some sort of issue between Zotero and Word.
  • Also, here is a Report ID, if that helps any: 791318502
  • Additionally, making a new user account did not have any impact... still no permission request is generated. Oddly, the System Events request did not show up this time... not sure what prompted that previously.
  • edited October 8, 2021
    If you go to system preferences -> security and privacy -> automation, do you not have a Zotero section with a checkbox for Word? If not, does it help if you run tccutil reset AppleEvents and then attempt to use Zotero with Word again? Are both Zotero and Word installed in the usual location under /Applications?
  • Sorry I wasn't clear, but there was no entry for Word under the Zotero section. After running the tccutil reset command, all entries were removed and subsequently attempting to use the Zotero plugin in Word (eg, click add citation button) presents the missing permission error but *does not* trigger the system dialog to allow or deny access and no entries are generated in System Preferences > Security & Privacy > Privacy > Automation.

    Zotero and Word are both in /Applications.
  • Does anyone find the solution?
  • @tacameron @hahaprut what version of macOS are you running? Generally macOS is responsible for this working correctly, it's beyond our control, so it's an OS bug that you should report to Apple.
  • Sorry for my lack of update: my situation resolved after restarting my macbook air.
  • I am on Mac OS 10.15.7. In my case restarting doesn't do anything. I had to borrow a Windows machine to finish up citation work for my manuscript.
  • Alright, I want to report some success on this front, after some extensive deep-diving on the internet and various testings of things.

    First off, the database for these permissions can be manually edited using sqlite commands. To create an entry in the database, you essentially need to have the domain of the app (org.zotero.zotero and com.microsoft.Word) along with a string of binary code (BLOB) that represents essentially an identifier for the specific apps involved.

    I relied extensively on this Stack Overflow post to get started in this, however I want to add that their method for creating the BLOB seems to be slightly invalid on 10.15.7 as they were different (slightly) from the ones generated by the native permissions panel. Maybe someone who knows what they are doing can figure out why. [ https://stackoverflow.com/questions/52706542/how-to-get-csreq-of-macos-application-on-command-line/57259004 ]

    Since I couldn't use those, I had to copy the BLOB generated in entries created by the permissions window (it was easier for me to browse the sqlite database using a GUI app like DB Browser for SQLite). The oascript command previously mentioned generates the correct BLOB for MS Word. The one for Zotero was more difficult... however I found it could trigger an entry for System Events sometimes (perhaps related to leaving the beta Zotero Word plugin in place while trying to use the release version of Zotero).

    Anyways, in the end, after running tccutil reset AppleEvents to clear everything, entering the following commands in Terminal will properly setup Zotero access in Word for me. This is on 10.15.7 with MS Word 16.54 and Zotero 5.0.96.3, so results not necessarily guaranteed on other systems. I have system integrity protection OFF (for other reasons)... I don't think that comes into play here, but just FYI.

    The first part sets up some variables for the sqlite entry, the last line actually enters the the change to the sqlite database.

    DATABASE_USER="/Users/"$USER"/Library/Application Support/com.apple.TCC/TCC.db"
    SOURCE_APP_ID=org.zotero.zotero
    SOURCE_APP_CSREQ="X'fade0c00000000a0000000010000000600000002000000116f72672e7a6f7465726f2e7a6f7465726f000000000000060000000f000000060000000e000000010000000a2a864886f76364060206000000000000000000060000000e000000000000000a2a864886f7636406010d0000000000000000000b000000000000000a7375626a6563742e4f550000000000010000000a384c41595233363759560000'"
    PERMISSION_GRANTED=1
    AUTOMATED_APP_ID=com.microsoft.Word
    AUTOMATED_APP_CSREQ="X'fade0c00000000a000000001000000060000000200000012636f6d2e6d6963726f736f66742e576f72640000000000060000000f000000060000000e000000010000000a2a864886f76364060206000000000000000000060000000e000000000000000a2a864886f7636406010d0000000000000000000b000000000000000a7375626a6563742e4f550000000000010000000a554246385433343647390000'"

    sqlite3 "$DATABASE_USER" "REPLACE INTO access VALUES('kTCCServiceAppleEvents','"$SOURCE_APP_ID"',0,$PERMISSION_GRANTED,1,$SOURCE_APP_CSREQ,NULL,0,'"$AUTOMATED_APP_ID"',$AUTOMATED_APP_CSREQ,NULL,?);"

  • Oh I forgot to mention, restart Word after running this.
Sign In or Register to comment.