For the shortbread: In a stand mixer attached with a paddle, cream the butter, sugar, cornstarch and orange zest until it's fluffy.
Sift the flours and slowly add to the butter. Mix until it just barely comes together. Lastly, add the candied violets. Mix until they just come together, then wrap up tight with plastic wrap and chill for a minimum of 2 to 3 hours.
Preheat your oven to 325 degrees F. Line baking sheets with parchment paper.
Dust your workspace with flour. Flour the top of your dough lightly and roll out your cookie dough to about 1/8-inch thickness. (If the dough is too cold to roll, let it sit at room temperature for a short while, until it's at a workable temperature.)
Using a cookie cutter, cut out 1 1/4-inch rounds and place on the prepared baking sheets. Bake for 7 minutes, rotate the pan, and bake until the cookies are lightly golden brown, about 3 minutes.
For the royal icing: Keep whisking enough powdered sugar, by hand, into the egg white until you have a smooth, light, ribbon texture to your royal icing. It should be loose enough to "dip" the cookie halves, yet stiff enough to dry out.
For the filling: Lightly cream your cream cheese and butter using a paddle attachment. Add your marmalade and orange zest and mix for another 5 to 10 seconds.
Add your powdered sugar and mix until everything comes together. Sometimes in mixing, the batter may get too soft to pipe. If this happens, refrigerate until ready for use.
To assemble: Dip half of the top layer of the cookie with the royal icing, and place on a cooling rack to dry out. Before it does, you can garnish with a couple petals of candied violets. Place a small dollop of the filling on the bottom cookie (pretty-side down) and sandwich with the glazed top cookie.