Windows Store - Change Windows Phone 8.1 App Name - c#

We tested a application on a test account, and now we want to release it on a production account.
Problem is, we reserved and used the actual name with the test account and we now want to use the same on production account, but it is blocked via our test account.
The application is un-deletable (Microsoft itself wrote article which states that) it can only be hidden.
Therefore I was thinking about reserving a new name in Manage App Names, use it, and then delete the old one. However, I can't figure out how to do this using Visual Studio 2013).
Lets say I have name X. I reserved name Y in the store (for the same app).
In Visual Studio:
Right click on Project -> Properties -> Assembly, name changed to Y
Display name in Package.appxmanifest changed to Y
Submitted to store - nothing changed, it still says that app name X is in use.
I did not find App Name property, but I supposed the assembly is it now?
Because in some older tutorial I saw "app name" at the same position as the Assembly now.

What you are looking for can't be solved in Visual Studio.
My understanding is your have name X reserved on a test account, and you want name X to be on a production account.
This is transferring an app to a different publisher (Test account and Production account are different, hince different publishers even though you own both)
Open a support ticket in the Windows Dev Center, and they should be able to sort this out for you: https://dev.windows.com/en-us

For achieving this you need to remove the reserved name from test account and then reserve this name in production account.
For reserving app name in Windows Store first login with the Microsoft account and go to Windows apps dashboard for your account and click on app name to go to app details and on left side click on App Management and then click on Manage app names here you can reserve a new name and also delete the unused app name. For further information Check this microsoft link. Hope it helps.

I actually fixed it.
I opened file "Package.StoreAssociation.xml" and I changed ReservedName value in bottom of this file to Y
I also changed the Package.appxmanifest->Packaging->Packade display name to Y
Also if you expand Properties, there is AssemblyInfo, I changed the AssemblyTitle and AssemblyProduct to Y
With the thing I already did :
Right click on Project -> Properties -> Assembly, name changed to Y
Display name in Package.appxmanifest changed to Y
I created bundle and uploaded it as new submission to Windows Store and then publish it. After this, the used reserved name changed from X to Y and I was able to delete X and then reuse him at production account.

Related

AdControl doesn't show ads with my AppID and UnitID

In my UWP app I use an AdControl that can be either 320x50 or 640x100 depending on the windows size. The problem is that I can't get it to display ads if I'm using my AppID and UnitID even though it displays them if I use the test IDs provided by Microsoft. The app has the Internet Client capability, is privately available in the store since last week and I'm debugging it on an italian IP. TheErrorOccured event gives me a NoAdAvailable error. How could I solve this?
EDIT 1:
I installed the Microsoft Ads SDK using the link of the answer but I now get on this line of code global::Windows.UI.Xaml.Application.LoadComponent(this, resourceLocator, global::Windows.UI.Xaml.Controls.Primitives.ComponentResourceLocation.Application);
in the MainPage.g.i.cs file this error: Windows.UI.Xaml.Markup.XamlParseException.
Is there a way I can solve it?
You May miss something Follow these steps-
1) Download this SDK
2) Add a reference to the Microsoft Advertising SDK in your project:
From the Solution Explorer window, right click References, and select Add Reference…
In Reference Manager, expand Universal Windows, click Extensions, and then select the check box next to Microsoft Advertising SDK for XAML (Version 10.0).
In Reference Manager, click OK.
3) Modify the XAML for the page where you are embedding advertising to include the Microsoft.Advertising.WinRT.UI namespace
Add this line of code in xaml references -
xmlns:UI="using:Microsoft.Advertising.WinRT.UI"
4) Then add your ad control with Ad Unit and ID from store
<UI:AdControl ApplicationId="Your Ad ID"
AdUnitId="Your AdUnit"
HorizontalAlignment="Left"
Height="250"
VerticalAlignment="Top"
Width="300"/>
this is example for Banner ads so go to your dev dashboard Monetize > In App Ad then Create new ad unit.
*Select Your App,
*Add ad unit name,
*Select ad unit type to banner,
*and device family Windows 10 UWP.
and click on create after that copy your ad unit id and app id and pase in you ad control in xaml
Then Debug your app in x86,x64x,ARM then wait few seconds (according to your internet connection) ad will appear soon.
Further after submission of app package to the store you need to configure ad mediation.. read this article for this it will show you everthing step by step

Microsoft Excel cannot access the file "...". There are several possible reasons Windows Server 2008 R2 with Microsoft Office 2010

I have a problem with starting the Excel Application under a particular user.
I try to schedule this script (C#) through an application X (not Windows Task Scheduler. And this application will always use a service account to run services on the server). If I run the C# script in command prompt under the same user, it runs. Under the application X, which uses the exact same user, to initiate the C# script, it fails to open the Excel application (not sufficient permission?).
This script calls:
app.Workbooks.Open(ExcelFileName,0,false,Type.missing....), yet it gives the following error:
Microsoft Excel cannot access the file "...". There are several possible reasons:
-The file name or path does not exist.
-The file is being used by another program.
-The workbook you are trying to save has the same name as a currently open workbook.
I tried all the methods that I found online to no avail.
Create directory “C:\Windows\SysWOW64\config\systemprofile\Desktop” (for 64 bit Windows) or “C:\Windows\System32\config\systemprofile\Desktop” (for 32 bit Windows). Then Set full control permissions on Desktop directory above (for example in Win7 & IIS 7 & DefaultAppPool set permissions for user “IIS AppPool\DefaultAppPool”)
Changed the DCOM config for the Microsoft Excel application to include this user for Local/Remote Launch and Access
Enabled all macros in Excel and set the Trust Center.
Add the user to have full control on all folders that contain the Excel file.
Under DCOM config, Microsoft Excel Application, if I modify the Identity tab to check on "This User" and enter the username/password to let Excel always run under that user. Then the application runs perfectly. However, other users can't run the excel application on their own with the following error: "Cannot use object linking and embedding". If I check "Use the launching user", then Excel can't be launched. No errors in the logs or events anywhere to check.
Yet, still the same error. I think it's permission but I am not sure where and what to do for this to work.
Now, normally, when I run this excel report, I can double-click on the file and it'd automatically run, save the new parameters into the current file and generate a new excel file (with date attached to the file name). That means there is a change (save) to the original file.
I appreciate all your help!
I found the problem is the layer of security in the server!
Creating the Desktop folder inside the C:\Windows\System32\config\systemprofile and giving the service account permission to access the desktop folder is not enough.
I modified the C:\Windows\System32\config (or C:\windows\SysWOW64\config) folder to allow permission to the service account in security tab.
Then I also had to set up the same permission for the sub folder C:\Windows\System32\config\systemprofile (or C:\windows\SysWOW64\config\systemprofile) for the service account.
This works!
Microsoft Excel cannot access the file in Server 2012 Excel 2016.. checked various solutions online to create folder desktop in C:\Windows\SysWOW64\config\systemprofile\desktop.. didn't work for this but then i added a folder desktop in System32 and that definitely worked.
Since I have 64-bit Excel installed, the proper directory turned out to be the
c:\windows\system32\config\systemprofile\desktop
I ran across another way you can get this error: when you try to save a file with an "illegal" name, such as one with whacks (forward slashes) in it.
For that reason, it would seem reasonable that the err msg would give that as one possible explanation of the problem, but...no!
Specifically, I was trying to save a file named C:\RoboReporter\ABUELITOS\20160524_1327\ABUELITOS - Fill Rate - 4\1\61910B10
The whacks (shown as backwhacks in the copied exception text, but seen as forwardwhacks when hovering over the value when debugging) were the cause of the discombobulation. Once I fixed that by replacing whacks with underscores:
filename = String.Format("{0}\\{1} - Fill Rate - {2}.xlsx", uniqueFolder, _unit, _begDate.ToShortDateString());
filename = filename.Replace("/", "_");
...all went swimmingly.

Easily configurable command arguments for a single WinForms executable?

I've created a very simple Windows Form application that uses .NET 2.0 and runs from a single executable.
These single executables will be deployed to multiple users to prompt and collect information.
The catch is that I want to have the information emailed to a specific email address that can vary based on the user the executable is sent to. But, I do not want to rebuild the executable when the email changes.
I can pass command arguments to the executable via command line of course or a shortcut, but I simply want the user to enter information into the form and click submit and have it sent to a predefined email address that can vary based on the user the executable is sent to.
I can bundle the executable with a batch file that runs the executable with the command argument or a config file. But, I want to keep the deployment simple, one file if possible.
Is it possible to do this with an MSI? Am I totally missing something obvious here?
I want the person who is sending the executable out to the user to be able to easily change the email address that the WinForm will send the data to.
if your users are going to be changing the email address you might want to think about a simpler delivery mechanism than a config file, which is fragile in the sense that if a user deletes a > accidentally your app will throw System.Configuration.ConfigurationErrorsException.
One simpler solution than the app config file would be a text file with just the target email address in it, included in the same directory as the app. Your users would have an easier time editing it - or just dropping a new file in. Of course this relies on them having rights to that directory.
Another option is to treat it like a normal setting. Prompt the end user for the actual email on first run, and store it using a user specific setting, i.e. Properties.Settings.Default.SettingName. Then, give your users a UI function to change it on demand.
You could use an app.config file.
Right click the project and select Add->New Item->Application Configuration File
Have something like:
<configuration>
<appSettings>
<add key="UserEmail" value="test#test.com" />
</appSettings>
</coniguration>
And in your code retrieve the config value like:
string email = ConfigurationManager.AppSettings["UserEmail"];
Then you just need to change the value in the config file before sending it to the user, and they can also update it on their own.
One slightly different solution would be to have every instance send email to the same email address, with the 'from' being an address based on the user's Windows logged in account and domain.
Then, create a receiving email account that those emails arrive at with a filter to redirect the mail to the appropriate destination. You didn't say what email system you were using, but Exchange allows this quite simply, for example (as do other systems like GMail).
A more labor-intensive variant on this centralized design would be to create a small web service that your exe queries, with the web service telling the exe where it should send mail to. Again, you'd need a mapping table between Windows user and 'To' addresses.
I'm not sure if I understood your question, but here's my try:
You should check out the properties in visual studio:
Project -> yourProjectName Properties... -> Settings
There you can create variables, which can be either application or user scoped. By using user scoped variable, lets say userEmail, the program lets you save this information according to the logged in user. This way you can save like 20 different emails in this very same executable, depending on the logged in user.
Save the emails according to user:
Properties.Settings.Default.userEmail = "myemail#host.com";
Properties.Settings.Default.Save();
And read them the same way:
string email = Properties.Settings.Default.userEmail;

How to hide user from login screen using .NET C#?

I need to hide a user account name from "Switch User" screen on Windows. For that I need to add that user's name into
Local Computer Policy / Computer configuration / Windows Settings / Security Settings / Local Policies / User Rights Assignment / "Deny log on locally".
I need to do that programmatically.
Do you know how to do that in .NET C#?
Any link or any hint might be helpful...
Thanks.
You need to write information in registry
at first read this Configuring User Rights (you can find the same for other OS)
at second read this Read-write-and-delete-from-registry
EDIT
For Win7 and Vista Win7 and Vista
EDIT2
Go to "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon" and create a new key called "SpecialAccounts". Create a subkey of "SpecialAccounts" called "UserList". In the "UserList" key, create a DWORD value with the name of the account you want to hide, and leave the value of that DWORD set to 0. Do this for every account you want to hide.
all of this you can do with second link

Can't schedule Program with Excel Interop

I have developed a console program in C# .NET, that uses Excel Interop.
The program works just fine on my development machine and in the windows server 2008, if I run it from command line.
When I try to schedule a task to run it daily, I got this annoying Interop error:
02/11/2011 00:30:05,000 [1] FATAL My.Program [(null)] - Unable to Microsoft Office Excel open file 'E:\excel.xls' by one of several reasons:
• The file name or path does not exist.
• The file is being used by another program.
• The workbook you are trying to save has the same name as the currently opened book.
System.Runtime.InteropServices.COMException (0x800A03EC): Unable to access the Microsoft Office Excel file 'E:\excel.xls' by one of several reasons:
• The file name or path does not exist.
• The file is being used by another program.
• The workbook you are trying to save has the same name as the currently opened book.
in Microsoft.Office.Interop.Excel.Workbooks.Open (String Filename, Object UpdateLinks, Object ReadOnly, Object Format, Object Password, Object WriteResPassword, IgnoreReadOnlyRecommended Object, Object Origin, Object Delimiter, Object Editable, Object Notify, Object Converter, Object AddToMru, Object Local, Object CorruptLoad)
The file 'e:\excel.xls' exists and if completely closed when the program starts, because if I try to run the same program in my command line, it ended as expected.
I also have setup my task to run as Administrator, so it shouldn't be permissions issues.
Can you help me?
Check this out. Looks like you have to create a folder to get this thing to work right.
C:\Windows\System32\config\systemprofile\Desktop
Taken from this article here
http://social.msdn.microsoft.com/Forums/en/innovateonoffice/thread/b81a3c4e-62db-488b-af06-44421818ef91
In short make sure to create these folders with appropriate rights for the profile used in the task scheduler and that folder is is NOT SET as readonly:
C:\Windows\System32\config\systemprofile\Desktop
C:\Windows\SysWOW64\config\systemprofile\Desktop
And check this if doesn't work:
From the Start menu, click Run and type Dcomcnfg.exe.
In Component Services, click Console root, expand Component Services, expand Computers, expand My computer,expand DCOMConfig.
Search for relevant app, such as Microsoft Word 14.0 Object Library. Click on it.
Right click and select Properties.
On security tab, select Customize in "Launch and Activation" section.
Click edit and add identity of app pool under which you application is running.
Repeat above step for "Access Permission"
Create a directory “Desktop” under:
“C:\windows\system32\config\systemprofile\Desktop”
AND
“C:\windows\SysWow64\config\systemprofile\Desktop” for 64 bit operating systems
Grant full access to this folder for the user running the service.
It should solve your problem.
Things can get a bit weird when you do Office Automation from a scheduled task, so I'd suggest trying a different user account.
If it works when you're logged in, then I'd suggest setting up the task scheduler to run it under your account. If that still works, then create a new account with the same kind of permissions as your account and have it run under that account.
Otherwise, try logging on as the administrator account and make sure that the app runs when logged in as administrator. For example, maybe there is some bit of Office that gets setup during the first interactive login by the user or similar.
The file 'e:\excel.xls' exists
It doesn't. Mapped drive letters like E: are per-user. The drive is valid only under your user account, the scheduled task is probably running using another account. Instead of tinkering with accounts, the best thing to do is to use a universal name. Like \\server\share\excel.xls, that's valid for any account. Ask more questions about it at serverfault.com
I was struggling to get this to work. I had been all over google, I thought that I had solved my problem with help of one thread that had a drop down while setting up the scheduled task that allowed you to select XP as the "Configure for" option, the XP option is only available when creating the task from the beginning. That worked fine as long as the owner of the scheduled task was actually logged into the machine.
I finally was able to correct it in the DCOM config by adjusting the Identity and hard coding a user to the panel.

Categories