Sign in to follow this  
Followers 0
2Radon

Suddenly I cannot create files in @AppDataDir!

10 posts in this topic

While I was writing my program, it worked fine. All IniWrites and everything worked and created ini files and everything I asked in @AppDataDir.

But suddenly, without anything related to that changing, it is unable to create any file in @AppDataDir. It will write to an ini file in @AppDataDir if I manually create it there, but using AutoIt I can't create it. Nothing happens there.

Share this post


Link to post
Share on other sites



Try adding #RequireAdmin to your script and see if that solves the issue

Share this post


Link to post
Share on other sites

#3 ·  Posted (edited)

Try adding #RequireAdmin to your script and see if that solves the issue

It did not. That can't be an option anyway because I can't have the users click Yes every time for admin as this has to happen automatically so they don't have to be at the PC.

Edited by 2Radon

Share this post


Link to post
Share on other sites

Perhaps you should post your script for everyone else to see if you have anything misplaced or affecting the script behavior

Share this post


Link to post
Share on other sites

#5 ·  Posted (edited)

Perhaps you should post your script for everyone else to see if you have anything misplaced or affecting the script behaviour

 

Impractical... :s

What is wrong about

$fINI = @AppDataDir & "ProgramMain.ini"

and

IniWrite($fINI, "General", "Boot", 1)

?

I can confirm it works with other directories. This has got to be something about the -sometimes- restriction to write on C: like in Program Files and whatnot.

 

EDIT:

This is my script:

IniWrite(@AppDataDir & "\Program\Main.ini", "One", "User", "Dude")

Because I just wrote this whole line in a new script file and it doesn't work.

Edited by 2Radon

Share this post


Link to post
Share on other sites

#6 ·  Posted (edited)

This is so freaking frustrating. Can't start testing. Why should I not put ini files in program directory? I want them to be in Appdata.

Maybe I should use CMD in my script to try create it?

Edited by 2Radon

Share this post


Link to post
Share on other sites

From the help file:

 

If the file does not already exist, it is created so long as the directory exists. Keys and/or sections are added to the end and are not sorted in any way.

If the folder doesn't exist, it won't create it. So make sure that the folder Program exists under @AppDataDir before trying to write to/create the ini file.


If I posted any code, assume that code was written using the latest release version unless stated otherwise. Also, if it doesn't work on XP I can't help with that because I don't have access to XP, and I'm not going to.
Give a programmer the correct code and he can do his work for a day. Teach a programmer to debug and he can do his work for a lifetime - by Chirag Gude
How to ask questions the smart way!

I hereby grant any person the right to use any code I post, that I am the original author of, on the autoitscript.com forums, unless I've specifically stated otherwise in the code or the thread post. If you do use my code all I ask, as a courtesy, is to make note of where you got it from.

Back up and restore Windows user files _Array.au3 - Modified array functions that include support for 2D arrays.  -  ColorChooser - An add-on for SciTE that pops up a color dialog so you can select and paste a color code into a script.  -  Customizable Splashscreen GUI w/Progress Bar - Create a custom "splash screen" GUI with a progress bar and custom label.  -  _FileGetProperty - Retrieve the properties of a file  -  SciTE Toolbar - A toolbar demo for use with the SciTE editor  -  GUIRegisterMsg demo - Demo script to show how to use the Windows messages to interact with controls and your GUI.  -   Latin Square password generator

Share this post


Link to post
Share on other sites

From the help file:

If the folder doesn't exist, it won't create it. So make sure that the folder Program exists under @AppDataDir before trying to write to/create the ini file.

 

So that means every other program in the world uses a BAT file to create these directories and files? Because I have to.

Share this post


Link to post
Share on other sites

So that means every other program in the world uses a BAT file to create these directories and files? Because I have to.

No.


_AdapterConnections()_AlwaysRun()_AppMon()_AppMonEx()_BinaryBin()_CheckMsgBox()_CmdLineRaw()_ContextMenu()_ConvertLHWebColor()/_ConvertSHWebColor()_DesktopDimensions()_DisplayPassword()_DotNet_Load()/_DotNet_Unload()_Fibonacci()_FileCompare()_FileCompareContents()_FileNameByHandle()_FilePrefix/SRE()_FindInFile()_GetBackgroundColor()/_SetBackgroundColor()_GetConrolID()_GetCtrlClass()_GetDirectoryFormat()_GetDriveMediaType()_GetFilename()/_GetFilenameExt()_GetHardwareID()_GetIP()_GetIP_Country()_GetOSLanguage()_GetSavedSource()_GetStringSize()_GetSystemPaths()_GetURLImage()_GIFImage()_GoogleWeather()_GUICtrlCreateGroup()_GUICtrlListBox_CreateArray()_GUICtrlListView_CreateArray()_GUICtrlListView_SaveCSV()_GUICtrlListView_SaveHTML()_GUICtrlListView_SaveTxt()_GUICtrlListView_SaveXML()_GUICtrlMenu_Recent()_GUICtrlMenu_SetItemImage()_GUICtrlTreeView_CreateArray()_GUIDisable()_GUIImageList_SetIconFromHandle()_GUIRegisterMsg()_GUISetIcon()_Icon_Clear()/_Icon_Set()_IdleTime()_InetGet()_InetGetGUI()_InetGetProgress()_IPDetails()_IsFileOlder()_IsGUID()_IsHex()_IsPalindrome()_IsRegKey()_IsStringRegExp()_IsSystemDrive()_IsUPX()_IsValidType()_IsWebColor()_Language()_Log()_MicrosoftInternetConnectivity()_MSDNDataType()_PathFull/GetRelative/Split()_PathSplitEx()_PrintFromArray()_ProgressSetMarquee()_ReDim()_RockPaperScissors()/_RockPaperScissorsLizardSpock()_ScrollingCredits_SelfDelete()_SelfRename()_SelfUpdate()_SendTo()_ShellAll()_ShellFile()_ShellFolder()_SingletonHWID()_SingletonPID()_Startup()_StringCompact()_StringIsValid()_StringRegExpMetaCharacters()_StringReplaceWholeWord()_StringStripChars()_Temperature()_TrialPeriod()_UKToUSDate()/_USToUKDate()_WinAPI_Create_CTL_CODE()_WinAPI_CreateGUID()_WMIDateStringToDate()/_DateToWMIDateString()Au3 script parsingAutoIt SearchAutoIt3 PortableAutoIt3WrapperToPragmaAutoItWinGetTitle()/AutoItWinSetTitle()CodingDirToHTML5FileInstallrFileReadLastChars()GeoIP databaseGUI - Only Close ButtonGUI ExamplesGUICtrlDeleteImage()GUICtrlGetBkColor()GUICtrlGetStyle()GUIEventsGUIGetBkColor()Int_Parse() & Int_TryParse()IsISBN()LockFile()Mapping CtrlIDsOOP in AutoItParseHeadersToSciTE()PasswordValidPasteBinPosts Per DayPreExpandProtect GlobalsQueue()Resource UpdateResourcesExSciTE JumpSettings INISHELLHOOKShunting-YardSignature CreatorStack()Stopwatch()StringAddLF()/StringStripLF()StringEOLToCRLF()VSCROLLWM_COPYDATAMore Examples...

Updated: 04/09/2015

Share this post


Link to post
Share on other sites

#10 ·  Posted (edited)

So that means every other program in the world uses a BAT file to create these directories and files? Because I have to.

 

No, that means every other programmer in the world thinks about what they're trying to do instead of throwing their hands up at it being "so freaking frustrating" and works through it logically. Two lines should solve the problem...

$dir = @AppDataDir & "\Program"
    If Not FileExists($dir) Then DirCreate($dir)
Edited by JLogan3o13

When you're dead, you don't know you're dead - it's only difficult for those that know you. It's the same way when you're stupid...

My Scripts: SCCM UDFInclude Source with Compiled Script, Windows Firewall UDF

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0