hallo...du kannst prinzipiell problemlos rechte nur für prozesse einräumen, das ist kein problem, dafür gibt es das konto system, oder du kannst für einen prozess auch ein eigenes konto generieren. das problem ist nur, daß en anwendungsprogramm kein prozess ist, sondern ein anwendungsprogramm läuft mit den rechten des users, der es startet. somit mußt du dem user so viele rechte geben, daß der viewer die datei anzeigen kann. je nachdem welche art datei es ist sind dazu aber eigentlich nur leserechte notwendig. dummerweise beinhalten leserechte eben auch das kopieren, da ja dabei auch nur der dateiinhalt gelesen wird (z.b. bei bildern, filmen) löschen kann er allerdings nicht. übrigens arbeitet windows auch mit der rechtegrundkombination rwx (read-write-execute) also ist lesen nicht gleich ausführen automatisch. windows unterstützt aber auch noch weitergehende rechte wie c (change) usw...
je nach deinem viewer könntest du diesen allerdings unter umständen als systemdienst starten (wenn das ganze auf einem system stattfinden soll und nicht über das netzwerk). im ressourcekit gibt es ein tool namens servany, womit sich programme als prozess starten lassen und somit kann man für diese programme auch ein anderes konto definieren.